2013-01-23 148 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