我有一個sql語句,我想要獲得所有與「遊戲」類別的條目,但不想用「A00001」代碼檢索記錄。mySql語句
下面是我的sql代碼,但where子句中有一個錯誤。
$sql1 = "SELECT * FROM productItem WHERE productName = '$name' AND skuCode != '$mySKU';";
我有一個sql語句,我想要獲得所有與「遊戲」類別的條目,但不想用「A00001」代碼檢索記錄。mySql語句
下面是我的sql代碼,但where子句中有一個錯誤。
$sql1 = "SELECT * FROM productItem WHERE productName = '$name' AND skuCode != '$mySKU';";
試試這個:
"SELECT * FROM productItem WHERE productName = '$name' AND skuCode <> '$mySKU';";
不等於說法是<> http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal
!=是有效的運算符。 http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html – Vishy
$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
以及確切的錯誤是什麼?你也可以刪除第一個';'。 – j08691
錯誤是什麼? – Melanie
要點:1)MySQL生成的* SQL代碼是什麼2)什麼是錯誤信息。不要忽視你得到的信息。 –