Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sprintf更新时出错,我不明白为什么会显示此错误_Php_Sql_Printf - Fatal编程技术网

Php sprintf更新时出错,我不明白为什么会显示此错误

Php sprintf更新时出错,我不明白为什么会显示此错误,php,sql,printf,Php,Sql,Printf,这是我的密码, 然后返回mysql\u查询- 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“=3,fav2=2,fav3=1,fav4=1,其中username=skytel”附近使用的正确语法 如何修复它?由于缺少SET function secure2($sec) { return mysql_real_escape_string(htmlspecialchars(trim($sec))); } $fav1 = secure2($_GET['fav1'

这是我的密码, 然后返回mysql\u查询- 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“=3,
fav2
=2,
fav3
=1,
fav4
=1,其中
username
=skytel”附近使用的正确语法


如何修复它?

由于缺少
SET

function secure2($sec) {
    return mysql_real_escape_string(htmlspecialchars(trim($sec)));
}

$fav1 = secure2($_GET['fav1']);
$fav2 = secure2($_GET['fav2']);
$fav3 = secure2($_GET['fav3']);
$fav4 = secure2($_GET['fav4']);
$jaminona = $_COOKIE['user2'];
$sql22 ="";    

$sql22 = sprintf("UPDATE `members` `fav1`= %s,`fav2`= %s,`fav3`= %s,`fav4`= %s WHERE `username` = %s", $fav1, $fav2, $fav3,$fav4,$jaminona);


您缺少
SET
如果您有能力这样做,请不要再使用
mysql.*
函数,它们已被弃用,并将在未来的PHP版本中删除。
mysqli
PDO
驱动程序中准备好的语句允许您执行与开箱即用非常类似的操作。此外,还应引用字符串。(
'%s'
)。只有最后一个答案,因为其他答案都是整数,如果你愿意,你可以编辑我的答案。是的,弗雷德,你得到了吗it@Fabio:完全错过了那部分。谢谢但不能仅编辑2个字符。
$sql22 = sprintf("UPDATE `members` SET `fav1`= %s,`fav2`= %s,`fav3`= %s,`fav4`= %s WHERE `username` = %s", $fav1, $fav2, $fav3,$fav4,$jaminona);
                                  //^Here
UPDATE table
SET column=value
WHERE colum=?