2013-09-21 63 views
0

我是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']。我想我可能會提到這一點。

回答

2

我敢肯定的陣列應該是key=>value,不key,value

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

你是對的,它的工作。我不能給你信用,直到5分鐘。爲什麼? –

+0

@Saori,我認爲延遲是(稍微)阻止衝突的答案。這個特定的問題只需要一個簡短的貢獻,但總的來說,我們在這裏喜歡細節':)'。 – halfer

相關問題