невозможно обновить значение идентификатора в базе данных, используя php и sql - PullRequest
0 голосов
/ 07 марта 2020

работает над простой системой одобрения и отклонения в PHP, но не может обновить статус учетной записи пользователя с 0 до 1. Я получаю значение в адресной строке, но не могу выполнить запрос SQL код:

$id = $_GET['id'];
            $query = 'UPDATE project set acc_status ="1" WHERE id = "$id"';
                mysqli_query($conn, $query);

1 Ответ

1 голос
/ 07 марта 2020

Прекратить использование запроса без подготовки и привязки параметра, потому что он открыт для SQL внедрения.

$id = $_GET['id'];
$query =$conn->prepare('UPDATE project set acc_status =1 WHERE id = ?');
$query->bind_param('i',$id);
$query->execute();

Как рекомендует Дхарман для сообщения об ошибке:

Как на самом деле его использовать?

Просто удалите любой код, который проверяет на наличие ошибок вручную , все эти or die(), if ($result) и тому подобное. Просто напишите свой код взаимодействия с базой данных сразу:

$stmt = $this->con->prepare("INSERT INTO table(name, quantity) VALUES (?,?)");
$stmt->bind_param("si", $name, $quantity);
$stmt->execute();

снова, без каких-либо условий вокруг . Если возникает ошибка, она будет рассматриваться как любая другая ошибка в вашем коде. Например, в разработке P C он просто появится на экране, в то время как на работающем сайте он будет зарегистрирован для программиста, тогда как для удобства пользователя вы можете использовать обработчик ошибок (но это другая история, которая off topi c для mysqli, но вы можете прочитать об этом в статье, указанной выше).

Ссылка SO: LINK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...