что не так с этим подготовленным MySQL оператором?"неизвестный столбец в предложении where" - PullRequest
1 голос
/ 17 августа 2011

Я использую подготовленный оператор с этим кодом SQL:

SELECT `name` FROM `securities` WHERE `symbol`=? AND `type`=`C`

, но я продолжаю получать эту ошибку при ее выполнении:

Column not found: 1054 Unknown column 'C' in 'where clause'

Таблица настроена какэто:

+--------+-----------------------+------+------+
| symbol | name                  | type | used |
+--------+-----------------------+------+------+
| AED    | UAE Dirham            | C    | 0    |
| ALL    | Albanian Lek          | C    | 0    |
| ANG    | Neth Antilles Guilder | C    | 0    |
| ARS    | Argentine Peso        | C    | 0    |
| AUD    | Australian Dollar     | C    | 0    |
| AWG    | Aruba Florin          | C    | 0    |
| BBD    | Barbados Dollar       | C    | 0    |
| BDT    | Bangladesh Taka       | C    | 0    |
| BGN    | Bulgarian Lev         | C    | 0    |
| BHD    | Bahraini Dinar        | C    | 0    |
+--------+-----------------------+------+------+

и я пытаюсь запросить просто имя из него.Как я могу исправить эту ошибку?Код, связанный с привязкой значения, слишком длинный для отправки, но в основном он выполняет подготовленный оператор с array($symbol).Есть ошибка SQL, которую я пропускаю?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

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

Измените его на кавычки, и оно должно работать:

SELECT `name` FROM `securities` WHERE `symbol`=? AND `type`='C'
2 голосов
/ 17 августа 2011
* * * * * * * * * * * В вещах в обратном порядке предполагается, что имена MySQL являются столбцами / таблицами. То, что вы просите MySQL сделать там, - это вернуть все строки, в которых значение в столбце типа такое же, как в столбце C, а на самом деле вы хотели получить одинарную (или двойную) кавычку. то есть.
SELECT `name` FROM `securities` WHERE `symbol`=? AND `type`='C'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...