由于SQL注入,我正在将MySQL语句重写为准备好的语句,但是我无法使它正常工作。它返回:
错误:1
您的SQL语法有误。检查与您的MariaDB服务器版本相对应的手册,以在第1行的'1'附近使用正确的语法
$cihc = mysqli_prepare($conn,"UPDATE user SET picture=? WHERE id1=?");
mysqli_stmt_bind_param($cihc, "si", $image, $userid);
$sql = mysqli_stmt_execute($cihc);
mysqli_stmt_close($cihc);
if ($conn->query($sql) === TRUE) {
echo "Sent successfully";
}
else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
最佳答案
您正在尝试对update
的结果执行查询。删除query()
调用并更改$sql
分配,因为它实际上不是SQL。
$cihc = mysqli_prepare($conn,"UPDATE user SET picture=? WHERE id1=?");
mysqli_stmt_bind_param($cihc, "si", $image, $userid);
$result = mysqli_stmt_execute($cihc);
mysqli_stmt_close($cihc);
if ($result) {
echo "Sent successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}