我目前使用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