PHP PDO Неверный номер параметра.Хотя все параметры установлены - PullRequest
0 голосов
/ 23 июня 2018

Я создаю приложение PHP, которое будет составлять список компьютеров.Этот список будет создан динамически.Таким образом, я пытаюсь вставить данные в базу данных MYSQL.Приведенный ниже код не предназначен для ответа пользователю, если только не произошла ошибка.

Я получаю сообщение об ошибке:

Предупреждение: PDOStatement :: execute (): SQLSTATE [HY093]: Неверный номер параметра: количество связанных переменных не соответствует количеству токенов в C: \ xampp \ htdocs \ netman \ connect.php в строке 39

Мой код:

$stmt = $db->prepare("UPDATE bots SET compName=':compName', username=':username',
             ramTotal=':ram', vendor=':vendor', IP=':IP', last=NOW() WHERE machineID = :machID");
            $stmt->execute([
                "machID" => $_GET['machineID'],
                "compName" => $_GET['compName'],
                "username" => $_GET['user'],
                "vendor" => $_GET['vendor'],
                "ram" => $_GET['memory'],
                "IP" => $_SERVER['REMOTE_ADDR']
            ]);

1 Ответ

0 голосов
/ 23 июня 2018

Глупая ошибка, которую я совершил:

Вы не помещаете значения переменных связывания в кавычки compName =: compName - @ RaymondNijland

Новый код:

$stmt = $db->prepare("UPDATE bots SET compName=:compName, username=:username,
             ramTotal=:ram, vendor=:vendor, IP=:IP, last=NOW() WHERE machineID = :machID");
            $stmt->execute([
                "machID" => $_GET['machineID'],
                "compName" => $_GET['compName'],
                "username" => $_GET['user'],
                "vendor" => $_GET['vendor'],
                "ram" => $_GET['memory'],
                "IP" => $_SERVER['REMOTE_ADDR']
            ]);

Спасибо

...