Сбой синтаксиса UPDATE id в MariaDB - PullRequest
0 голосов
/ 12 октября 2018

Я получаю следующую ошибку при попытке обновить таблицы в БД с использованием 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>

Я запускаю это на локальном хосте, поэтому нет необходимости в хешировании, и соединение с БД работает нормально.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Добавить запрос так:

$query .= "WHERE id = '$id' ";
0 голосов
/ 12 октября 2018

Добавить значение, чтобы выбрать параметры поля

echo "<option value='$id'>$id</option>";
...