#php #mysql #mysql-error-1054
#php #mysql #mysql-ошибка-1054
Вопрос:
в моем php-файле я запускаю следующий код :
$reponse = $bdd->query('SELECT * FROM `bcpd` WHERE `bcpdID`=' . $bcpdID);
где bcpdID
могут быть только цифры или символы. Проблема в том, что когда bcpdID
это число, код работает, но когда есть буквы, он показывает ошибку 1054
.
Я не эксперт в PHP и MySQL, поэтому я был бы благодарен за вашу помощь.
Комментарии:
1. но когда есть буквы, отображается ошибка 1054 1) Строковый литерал должен быть заключен в одинарные кавычки в окончательном тексте запроса. 2) Вы должны процитировать сообщение об ошибке полностью — рассказ об этом бесполезен.
2. Давайте посмотрим, когда в MySQL возникает ошибка #1054. При вставке значения varchar, если вы забудете добавить одинарные кавычки, то возникнет эта ошибка. Смотрите tutorialspoint.com /…
3. Ваш запрос должен быть чем-то вроде
$reponse = $bdd->query("SELECT * FROM bcpd WHERE bcpdID='" . $bcpdID."'");
4. @UmairKhan нет, пожалуйста, НИКОГДА. Используйте подготовленные инструкции, никогда не рекомендуйте что-либо еще, что является небезопасным и приводит к SQL-инъекциям
Ответ №1:
Попробуйте это
$reponse = $bdd->query("SELECT * FROM `bcpd` WHERE `bcpdID`= '$bcpdID'");
Комментарии:
1. Нет, пожалуйста, НИКОГДА не используйте такой запрос. Используйте подготовленные инструкции, никогда не рекомендуйте что-либо еще, что небезопасно и приводит к SQL-инъекциям