参数号无效:绑定变量数与令牌数不匹配,应匹配

时间:2013-09-21 15:52:22

标签: php sql pdo

我是PHP新手,学习如何使用预处理语句并获得标题中列出的错误。我查看了以前人们关于这个错误的问题,但是问题和解决方案似乎很复杂,我使用他们的解决方案试图解决我的问题。我想抓住用户输入清理它,然后执行查询,希望最大限度地减少SQL注入的可能性。

有人可以看看我的代码。

sth=$conn->prepare("SELECT EnglishWord FROM Japanesedefinition WHERE Japaneseword =:Japaneseword");
$sth->execute(array(':Japaneseword',$name));
$result = $sth->fetch(PDO::FETCH_OBJ);
 $result ->EnglishWord; 

在我的绑定构造函数中,我将$ name设置为$ _POST ['Japanseword']。以为我可能会提到这一点。

1 个答案:

答案 0 :(得分:2)

我非常确定数组应该是key=>value,而不是key,value

$sth->execute(array(":Japaneseword"=>$name));