PHP - команда обновления с помощью БД mysql

Я пытался это сделать, но не могу найти ошибку. Это работало раньше, когда у меня было только «имя, адрес электронной почты, мобильный», когда я добавляю «пароль», он перестает работать ...

Я не знаю, что делать, чтобы он работал должным образом, как раньше, пожалуйста, помогите

if ( !empty($_POST)) {
    // keep track validation errors
    $nameError = null;
    $emailError = null;
    $mobileError = null;
    $passwordError = null;
    // keep track post values
    $name = $_POST['name'];
    $email = $_POST['email'];
    $mobile = $_POST['mobile'];
    $password = $_POST['mobile'];

    // validate input
    $valid = true;
    if (empty($name)) {
        $nameError = 'Please enter Name';
        $valid = false;
    }

    if (empty($email)) {
        $emailError = 'Please enter Email Address';
        $valid = false;
    }

    if (empty($mobile)) {
        $mobileError = 'Please enter Mobile Number';
        $valid = false;
    }

    if (empty($password)) {
        $passwordError = 'Please enter Password Number';
        $valid = false;
    }
    // update data
    if ($valid) {
        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //ERROR IS HERE    $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =?, WHERE id = ?";
        $q = $pdo->prepare($sql);
        $q->execute(array($name,$email,$mobile,$password,'ADD',$id));
        Database::disconnect();
        header("Location: index.php");
    }
} else {
    $pdo = Database::connect();
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "SELECT * FROM customers where id = ?";
    $q = $pdo->prepare($sql);
    $q->execute(array($id));
    $data = $q->fetch(PDO::FETCH_ASSOC);
    $name = $data['name'];
    $email = $data['email'];
    $mobile = $data['mobile'];
    $password = $data['password'];
    Database::disconnect();
}

?>

password =?, WHERE id убираем запятую. Проверяйте ошибки mysqli, когда что-то не получается, чтобы получить дополнительную информацию о том, почему что-то не получается.
aynber 23.05.2018 14:43

Что значит "работать"? (т.е. что вы пытаетесь сделать, что терпит неудачу?) Кроме того, в чем заключалась ошибка, которую вы видите? Наконец, я бы рекомендовал обновить форматирование, чтобы весь ваш код находился в блоке кода для удобства чтения (включая последний ?>).

Collin M. Barrett 23.05.2018 14:52

айнбер большое спасибо, заработало !!!!

Carlos Santiago 23.05.2018 15:01

Не храните пароли в виде обычного текста.

user3783243 23.05.2018 15:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
61
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

нужно сменить $password = $_POST['mobile']; кому: $password = $_POST['password'];

Хотя это приведет к тому, что в базу данных попадут неверные данные, это не помешает обновлению работать, как утверждает OP.

aynber 23.05.2018 14:44

Привет, похоже, у вас синтаксическая ошибка,

неожиданная запятая

//ERROR IS HERE    $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =?, WHERE id = ?";// remove comma prior to WHERE

попробуйте, как показано ниже,

  $sql = "UPDATE customers  set name = ?, email = ?, mobile = ?, password =? WHERE id = ?";

Другие вопросы по теме