受け取ったエラーに対処するには、 mysql_real_escape_string()
mysql_connect()
を介して開いた接続が必要です 。持っていないため、接続しようとして失敗します(matthew
のユーザー名を使用) 、PDOがroot
に接続しているのに対して )。さらに、できません(または、すべきではありません )mysql_real_escape_string()
を組み合わせて組み合わせる およびPDO
-それらは異なるライブラリです。
プリペアドステートメントを使用する「いつ」に関して、一般的な経験則は、値がハードコーディングされていない場合です。 LIKE '%hotmail%'
の例 準備する必要はありません。ハードコーディングされており、変更されることはありません(もちろん、手動で更新しない限り)。
あらゆる種類の変数を取り込むクエリがある場合は、$_POST
からのデータです。 または$_GET
、または開発者がクエリの10行前に作成した変数の場合は、プリペアドステートメントを使用する必要があります(または、少なくともそれをエスケープして、 PDO ::quote
。