запрос на обновление не работает в подготовленном операторе с предложением множественного числа - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть следующий оператор обновления, который успешно выполняется, но без изменения значения в таблице.

 $name = "John Doe"; //to update into John Stack
 $chenna = "Mz"; $reg = 25; $km = 3;
 $dbh = PDO Object

 $stmt = $dbh->prepare("UPDATE `hl_customer` SET `name`=:hming, `address`=:chenna
         WHERE `regd`=:regd AND `kum`=:km");
 $stmt->bindParam(':hming', $name, PDO::PARAM_STR);
 $stmt->bindParam(':chenna', $hmun, PDO::PARAM_STR);
 $stmt->bindParam(':regd', $reg, PDO::PARAM_INT);
 $stmt->bindParam(':km', $km, PDO::PARAM_INT);
 $stmt->execute();
 $affected = $stmt->rowCount();

Другой проверенный код:

 $stmt = $dbh->prepare("UPDATE `hl_customer` SET `name`=?, `address`=?
         WHERE `regd`=? AND `kum`=?");
 $stmt->execute([$name, $hmun, $reg, $km]);
 $affected = $stmt->rowCount();

 $stmt = $dbh->query("UPDATE `hl_customer` SET `name`='$name', `address`='$chenna'
         WHERE `regd`='$reg' AND `kum`='$km'");

Для обновления я сохранилизменив переменную $name, но не было затронутой строки.Счетчик строк всегда возвращает 0. Я проверял как в phpmyadmin (последняя версия), так и в mysql Workbench (последняя), и проблема все еще существует.Затем я снова проверил в консоли MySQL, и он работает, как ожидалось.Но почему это не работает в коде, показанном выше, phpmyadmin и workbench.В чем может быть проблема?Мой код неверен?Я использовал mysql 8.0.12, php 5.6. * И php 7.1. *.Я проверил это снова без параметризованного запроса, но он не работал.Теперь я начинаю думать, что это своего рода ошибка в php.Спасибо

1 Ответ

0 голосов
/ 16 февраля 2019

Ну, я не вижу ничего плохого в вашем коде, попробуйте и убедитесь, что количество столбцов в вашей таблице соответствует количеству ваших параметров, потому что вы сказали, что это работает, когда вы удаляете последний параметр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...