我是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']。以为我可能会提到这一点。
答案 0 :(得分:2)
我非常确定数组应该是key=>value
,而不是key,value
。
$sth->execute(array(":Japaneseword"=>$name));