У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, для правильного синтаксиса, чтобы использовать около '1' в строке 1

0

Я переписываю заявления MySQL на подготовленные из-за SQL-инъекций, но я не могу заставить это работать. Он возвращает:

Ошибка: 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;
}
  • 2
    Было бы полезно, если бы мы могли видеть, как выглядит окончательный запрос, а также каковы значения для $ image и $ userid.
  • 0
    $ image - это просто ссылка, а $ userid - что-то вроде этого. 111111111111111111111
Показать ещё 1 комментарий
Теги:
mysqli

1 ответ

0
Лучший ответ

Вы пытаетесь выполнить запрос по результату 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;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню