2013-05-13 78 views
0

此腳本應該檢索已輸入表單的Customer_First_Name和Customer_Last_Name的CustomerID。Where子句中的未知列

$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; 
腳本運行時我得到這個錯誤

Unknown column '.Christopher.' in 'where clause'

查詢永遠不會顯示在屏幕上。

任何幫助表示讚賞。

+3

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – ceejayoz 2013-05-13 01:09:22

回答

0

使用',而不是刪除`

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

你的報價是不好用「,而不是蜱`

0

你必須使用單引號的字符串。再試一次:

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

這應該工作:

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

您需要使用普通的單引號值。如果你使用雙引號,你也不需要中斷字符串 - 在字符串中檢測到變量。

請確保你也正確地逃脫你的字符串爲了防止注入。

更好的是,看看移動到mysqli和使用準備好的語句。