我使用PDO聲明如下SQL注入:哪些語句可以防止較好SQL注入
select * from `admine_user` where `user_id` = ? and passw = ?
$resultfm1 = DB::instance()->prepare($query)->execute
(array($escapedid,$hashedpass))->fetchAll();
我想用
select * from `admine_user` where `user_id` = :user and passw = :pwd
$resultfm1 = DB::instance()->prepare($query)->execute
(array(":user"=>$escapedid,":pwd"=>$hashedpass))->fetchAll();
出上述聲明這是更好地使用它可以有效防止SQL注入,因爲現在我不能使用mysql_real_escape_string
既防止.. – sectus
感謝@sectus ..有人downvoted,我可以知道原因,並感謝誰upvoted的人。我認爲,我們在這裏學習 – Gags
你應該確保你的準備不被模擬('$ con> setAttribute(PDO :: ATTR_EMULATE_PREPARES,false);') - [Read More。](http://stackoverflow.com/questions/ 8776344 /如何對 - 視圖 - 查詢錯誤在-PDO-PHP/8776392#8776392)。但是,兩個查詢都是一樣的。 – Darren