where子句中的未知列


Unknown column in where clause

该脚本应该检索Customer_First_Name和Customer_Last_Name的CustomerID,这些Customer_First_Name和Customer_Last_Name已输入到表单中。

$query  = "SELECT CustomerID FROM customer WHERE Customer_First_Name = `.$db_customer_first_name.` AND Customer_Last_Name = `.$db_customer_last_name.`";
$result = mysql_query($query)
or die(mysql_error());
echo $result;
echo $query;

当脚本运行时,我得到这个错误:

未知列'. christopher。' in 'where子句'

查询永远不会显示在屏幕上。

你的引号用'代替'

字符串必须使用单引号。再试一次:

$query  = "SELECT CustomerID FROM customer WHERE Customer_First_Name = '".$db_customer_first_name."' AND Customer_Last_Name = '".$db_customer_last_name."'";

应该可以:

$query  = "SELECT CustomerID FROM customer WHERE Customer_First_Name = '$db_customer_first_name' AND Customer_Last_Name = '$db_customer_last_name'";

您需要使用普通的单引号来表示值。如果你使用双引号,你也不需要打破字符串——变量在字符串中被检测到。

确保你也正确转义mysql的字符串,以防止注入。

更好的是,看一下迁移到mysql并使用准备好的语句。

使用'代替remove '

$query  = "SELECT CustomerID FROM customer WHERE Customer_First_Name = '".$db_customer_first_name."' AND Customer_Last_Name = '".$db_customer_last_name."'";