我有这个用 php 编写的 SQL 查询。但查询结果为错误。如果删除此 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");
最佳答案
我认为这可能是因为您错过了 $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");
关于php - 为什么 SQL/PHP 中的这个查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470232/