Возникли проблемы при обновлении базы данных phpMyAdmin (XAMPP) с использованием php

0

Я новичок в php, я изучаю, как обновлять таблицу с помощью php с помощью запросов sql. Но почему-то я застрял в части запроса SQL. Он всегда показывает ошибку, которую я не могу понять.

Запрос, который я использую: $query= "UPDATE users SET username = '$username', password = '$password' WHERE id = $id " ;

И ошибка, которую я получаю:

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с '' в строке 1

Сначала я искал любые синтаксические ошибки, но я думаю, что это не так.

Я также упоминаю код validation isset, который я использовал на всякий случай.

<?php
include "db.php"; 
include "functions.php"; 
?>

<?php

if(isset($_POST["submit"])){
    $username= $_POST["username"];
    $password= $_POST["password"];
    $id= $_POST["id"];

    $query= "UPDATE users SET username = '$username' , password = '$password'  WHERE id = $id " ;

    $result=mysqli_query($connection,$query);
    if(!$result){
        die("QUERY FAILED".mysqli_error($connection));  
    }

}
?>

$connection уже определено в db.php..

Не могли бы вы рассказать, где моя вина?

Теги:
xampp

2 ответа

0

Сохраняются ли ваши пароли в вашей базе данных? Если это так, это может быть вашей проблемой. Попробуй это.

$password = mysqli_real_escape_string($_POST['password']);
$hashed_password = password_hash($password, PASSWORD_BCRYPT, array('cost => 12'));

$query= "UPDATE 'users' SET 'username' = '$username' , 'password' = 
'$hashed_password'  WHERE 'id' = $id " ;

Если вы сохраняете свой пароль в своей базе данных в виде обычного текста, я бы рекомендовал использовать эту функцию password_hash. Я бы также рекомендовал проверить подготовленные заявления для этого, а также более безопасно и поможет защитить от внедрения sql.

0

Если вы получаете идентификаторы, имя пользователя и пароль, тогда

Просто попробуйте это

$query= "UPDATE 'users' SET 'username' = '$username' , 'password' = '$password'  WHERE 'id' = $id " ;
  • 0
    попробовал приведенный выше код, но показывает ту же ошибку ..
  • 0
    попробуйте повторить $ username, $ password, $ id. Вы получаете ценности? или это пусто?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню