1

このSQLクエリをphpで作成しました。しかし、クエリは ERROR になります。これを削除するAND first_name LIKE '{$first_name}%'と、正常に機能し、正しい出力が生成されます。以下の構文の問題点をたどることができません。どんな助けでも大歓迎です。ありがとう

$db = new PDO("mysql:dbname=newbie");
            $first_name=$_GET["firstname"];
            $first_name =$db->quote($first_name);
            $last_name=$_GET["lastname"];
            $last_name=$db->quote($last_name);
            $rows=$db->query("SELECT id,first_name FROM actors WHERE last_name=$last_name AND first_name LIKE '{$first_name}%' ORDER BY film_count DESC LIMIT 1"); 
4

3 に答える 3

1

$lastnameテキストフィールドであることを考えると、 の引用符を見逃したことが原因である可能性があると思います。

$db = new PDO("mysql:dbname=newbie");
            $first_name=$_GET["firstname"];
            $first_name =$db->quote($first_name);
            $last_name=$_GET["lastname"];
            $last_name=$db->quote($last_name);
            $rows=$db->query("SELECT id,first_name FROM actors WHERE last_name='{$last_name}' AND first_name LIKE '{$first_name}%' ORDER BY film_count DESC LIMIT 1");
于 2013-05-09T20:12:57.337 に答える
0

「$first_name」の前後の「{」と「}」を削除できます。変数が二重引用符で囲まれている場合は必要ありません。

于 2013-05-09T20:38:55.117 に答える