我的PHP文件包含以下函数。当我将review列设置为'$review'并将IdUser设置为2时,它可以工作,但我需要将IdUser设置为变量$user。将IdUser设置为变量而不是常量的正确语法是什么?(最好是以避免SQL注入攻击的方式)。
function addRatings2($review, $user) {
//try to insert a new row in the "ratings" table with the given UserID
$result = query("UPDATE ratings SET review ='$review' WHERE IdUser = 2 order by dateTime desc limit 1");
}发布于 2013-05-23 11:02:07
在正确的语法中使用
{$var},您希望var的当前值出现在任何位置,因此在本例中,它将是
$result = query("UPDATE ratings SET review ='{$review}' WHERE IdUser = {$user}
order by dateTime desc limit 1");发布于 2013-05-23 11:09:13
//防注入
$user = (int)$user;
$review = mysql_real_escape_string($result);//mysqli_real_real_string更好
$result = query("UPDATE ratings review ='$review‘WHERE IdUser = $user order by dateTime desc limit 1");
发布于 2013-05-23 11:12:28
您必须像以前一样对字符串使用单引号,但不需要对整数使用单引号
query("UPDATE ratings SET review ='$review' WHERE IdUser = $user order by dateTime desc limit 1");https://stackoverflow.com/questions/16704926
复制相似问题