我目前使用mysqli,我想要一種方式來正確消毒每一個用戶輸入。林尋找最簡單的輕量級的方式來做到這一點,因爲我明白,我不是應該使用mysql_real_escape ....正確使用mysqli消毒多個用戶輸入
我的查詢是像這樣
$stmt = $sql->prepare("INSERT INTO Persons (msg, ip, time, main, twit, city, lat, lon, lang)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
按照我的理解,我應該使用函數bindParam ...如果我像這樣使用它,我是否完全確保我的用戶輸入?
$stmt->bind_param('sssssssss', $_POST[msg], ('$ip'), ('$date'), '$_POST[main]', '$_POST[twit]', ('$cit'), ('$lat'), ('$lon'), '$_POST[lang]');
$stmt->execute();
$stmt->close();
如果這不能保護我的用戶輸入,我該如何妥善做到這一點?
哎抱歉什麼是「Ssssssss」? – uneducatedguy 2013-04-25 07:07:23
它將輸入定義爲字符串。每個S代表每個輸入。如果是我,它會是十進制的整數或d。看看mysql->準備在php文檔上解釋它比我更好。 – Dave 2013-04-25 07:39:13
我得到以下錯誤! 錯誤:在非對象 – uneducatedguy 2013-04-25 07:40:48