Прекратить использование запроса без подготовки и привязки параметра, потому что он открыт для 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