Я получаю следующую ошибку при попытке обновить таблицы в БД с использованием PHP.
QUERY FAILED У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '' в строке 1
(первая строка - там, где начинается мой запрос)
Я пришел к выводучто это как-то связано с "id"
, но я понятия не имею, что.Если я жестко закодирую его как "WHERE id = 1"
, он работает, но на самом деле он не читает идентификатор.
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$id = $_POST['id'];
$query = "UPDATE users SET ";
$query .= "username = '$username', ";
$query .= "password = '$password' ";
$query .= "WHERE id = $id ";
$result = mysqli_query($connection, $query);
if(!$result) {
die("QUERY FAILED" . mysqli_error($connection));
}
}
Вот HTHML, который я использую для идентификатора:
<form action="login_update.php" method="post">
<div class="form-group">
<select name="id" id="">
<?php
global $connection;
$query = "SELECT * FROM users";
$result = mysqli_query($connection, $query);
if(!$result){ //om result inte är TRUE then die()
die('Query failed ' .mysqli_error());
}
while($row = mysqli_fetch_assoc($result)){
$id = $row['id'];
echo "<option value=''>$id</option>";
?>
</select>
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Update">
</form>
Я запускаю это на локальном хосте, поэтому нет необходимости в хешировании, и соединение с БД работает нормально.