我知道你不能使用「字符,試圖`來代替,而沒有工作,任何想法PHP PDO MySQL的預處理語句有多個值
$sql = $db->prepare('INSERT INTO testDB VALUES(`$title`,`$bodytext`,`$created`)');
我知道你不能使用「字符,試圖`來代替,而沒有工作,任何想法PHP PDO MySQL的預處理語句有多個值
$sql = $db->prepare('INSERT INTO testDB VALUES(`$title`,`$bodytext`,`$created`)');
試試這個:
$sql = $db->prepare('INSERT INTO testDB VALUES(?, ?, ?)');
$sql->execute(array($title, $bodytext, $created));
我所做的是從SQL查詢中移除變量與?
作爲佔位符代替它們。你只在執行時綁定值的語句。
你試圖做的方法它與使用常規SQL查詢沒有區別。
工程,但我的網頁漏洞掃描儀仍然可以破解該網站:( – user576820 2012-04-08 09:07:52
Nvm,原來的代碼一次只顯示3行,掃描儀並沒有實際覆蓋舊數據,所以一切都很好。謝謝你的幫助! – user576820 2012-04-08 10:23:01
反引號用於轉義保留字。你需要定期的單引號。而且,由於您使用的是準備好的語句,因此不應該直接插入類似這樣的值。如果您沒有正確使用它們,世界上所有準備好的語句都不會爲您節省SQL注入攻擊。 – 2012-04-07 21:29:33