2013-04-16 63 views
-2

我有一個sql語句,我想要獲得所有與「遊戲」類別的條目,但不想用「A00001」代碼檢索記錄。mySql語句

下面是我的sql代碼,但where子句中有一個錯誤。

$sql1 = "SELECT * FROM productItem WHERE productName = '$name' AND skuCode != '$mySKU';"; 
+0

以及確切的錯誤是什麼?你也可以刪除第一個';'。 – j08691

+1

錯誤是什麼? – Melanie

+0

要點:1)MySQL生成的* SQL代碼是什麼2)什麼是錯誤信息。不要忽視你得到的信息。 –

回答

1
$mySKU = 'A00001'; 
$sql1 = "SELECT * FROM productItem WHERE productName = '$name' AND skuCode != '$mySKU'"; 

你有一個額外;在那裏潛伏的地方。如果是用戶輸入並使用prepared語句,請務必對$mySKU進行消毒。

更新
使用PDO:

$stmt = $dbh->prepare("SELECT * FROM productItem WHERE productName = :name AND skuCode != :mySKU"); 
if ($stmt->execute(array('name' => $name, "mySKU" => $mySKU))) { 
$rows = $stmt->fetchAll(); //if you are sure there are records 
+0

這是一個相當大的飛躍,不知道錯誤消息。 – Kermit

+0

我認爲應該指出我們所看到的錯誤。假設OP不知道如何複製和粘貼錯誤。我沒有得到這個讚譽。 :| – IROEGBU

+0

直到我們從OP處聽到回答,答案纔有用。 – Kermit