Mysqli запрос ошибка UPDATE

196
28 сентября 2017, 15:37

Хочу изменить confirm там где email и id ровны GET-овским данным. Я новичок в mysqli потому такие ошибки и сотворяю. Вот код:

$quer = "UPDATE `users` SET `confirm` = '1' WHERE `users`.`email` = 
'$_GET[eml]', `users`.`id` = '$_GET[num]'";
$db->query($quer);
Answer 1
$sql = 'UPDATE `users` SET `confirm` = '1' WHERE `email` = ? AND `id` = ?';
$stmt = $db->prepare($sql);
$stmt->bind_param("si", $_GET['eml'], $_GET['num']);    
$stmt->execute();
if ($stmt->errno) {
  // обработка ошибки
}
echo "Updated {$stmt->affected_rows} rows";
$stmt->close();
  • mysqli_prepare — Подготавливает SQL выражение к выполнению
  • mysqli_stmt_bind_param — Привязка переменных к параметрам подготавливаемого запроса

  • Что такое подготовленные выражения

  • Грамотная защита от SQL-Injection

  • Защита от SQL иньекций в php

  • Защищают ли подготовленные выражения/переменные полностью от SQL инъекций?
Answer 2

users.id = '$_GET[num]'"; у вас наверно число integer, уберите скобки чтоб вышло такusers.id = $_GET[num]";

READ ALSO
Общее число кликов яндекс директа api v5

Общее число кликов яндекс директа api v5

Делаю json запрос на api v5, как не используя методы api v4 получить общее число кликов со всех компаний и общий бюджет? (без подсчета каждой кампании...

154
Вопросы вместо текста, подключение к бд которой нет

Вопросы вместо текста, подключение к бд которой нет

В общем это даже не проблема, просто любопытство не дает покояЕсть код PHP, который пытается установить соединение с несуществующей бд

204
Получение Id пользователя на сайте

Получение Id пользователя на сайте

Ситуация следующая: существует сайт https://elibraryru/, необходимо получить статьи определённого участника, а для этого нужно получить его id на сайте

167
SQLite3 PHP - взять больше одной строчки

SQLite3 PHP - взять больше одной строчки

Когда выполняю запрос

150