Intereting Posts
сделать особый элемент первым в массиве Ошибка FOSFacebookBundle после входа в систему. Контроллер должен вернуть ответ (null) Проводка массива из формы Выполнение скрипта bash через PhP дает другой результат по сравнению с выполнением вручную Какие проблемы с сериализацией POST ссылаются на пример IP-адреса PayPal PHP? Поиск первого дня недели через php Почему я не могу получить доступ к дате DateTime-> в классе DateTime PHP? Это ошибка? Почему я не мог назначить функцию wordpress переменной? PHP – Инициализация элементов объекта с параметром массива is_unique для проверки правильности формы кода Не найдено ни одного результата для запроса, хотя ожидалась хотя бы одна строка PHP, $ this -> {$ var} – что это значит? Большие файлы .PDF не загружаются в базу данных MySQL как средний BLOB через PHP, файлы под 2MB работают нормально Назначение формы ввода переменной Google Диска V3, клиент API Google 2.0 2.0 – пакетная загрузка не работает

Является ли «ключ» зарезервированным словом в MySqli? Я получаю сообщение об ошибке

Я просто нахожусь в MySql / MySqli, и я использую подготовленные заявления. Весь мой скрипт работает отлично, за исключением этой отдельной строки:

if ($stmt = $con->prepare("SELECT bandHash, userHash, userPassHash, type FROM account_active WHERE key=?")) {

Я узнал, что это строка, вручную отслеживая ее, затем запустив mysqli_error($resource) и получив этот результат. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key=?' at line 1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key=?' at line 1

Пожалуйста, не волнуйтесь, что это говорит строка 1, это просто из-за того, как она была выполнена, это на самом деле строка 280.

Итак, что мне интересно, потому что я уже использую такие утверждения, является «ключевым» зарезервированным словом, которое я не могу использовать, или мне нужно искать в другом месте для моей ошибки?

Простой ответ да или нет, спасибо!

Я не знаю, почему вы не могли это посмотреть сами, но, да , key – это зарезервированное слово в MySQL .

Вы должны использовать обратные ссылки с именами полей, чтобы избежать необходимости беспокоиться об этом.

 SELECT `bandHash`, `userHash`, `userPassHash`, `type` FROM `account_active` WHERE `key` = ? 

Это не только решает вашу проблему, но и становится более явным и (как вы можете видеть) вспомогательным синтаксисом.

Да, ключ – это зарезервированное слово

Я бы подумал о переименовании, чтобы избежать использования цитируемого имени во всем мире

 `key`