2013-01-23 144 views
-1

我有以下查詢:的MySQLi準備語句錯誤

$query = "SELECT * FROM PAS WHERE KLANT_NR = (SELECT KLANT_NR FROM klanten WHERE VOORNAAM = ? AND ACHTERNAAM = ?)"; 

$stmt = $mysqli->prepare($query)){ 
     $stmt->bind_param("ss", $klantVoornaam, $klantAchternaam); 

然而,這產生了以下錯誤:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? AND ACHTERNAAM = ?)' at line 1 

的兩個變量是$ _ POST字符串..

奇怪事情是,如果我在普通查詢中添加兩個字符串而不是'?',則查詢可以正常工作。我想不通,爲什麼事先準備好的聲明不工作,那麼......

+0

都是'VOORNAAM'和'ACHTERNAAM'字符串類型? –

+0

是的,這是正確的。 – Brainscrewer

+0

您可以在您的mysql常規查詢日誌中看到上次執行的查詢。展示下。 –

回答

0

我發現自己awnser,它涉及到的其他$查詢我放在下面..

愚蠢的錯誤,謝謝雖然幫助。

+0

然後刪除這個問題,因爲社區沒有額外的價值。 – sbrbot