Эй, ребята, вопрос, возможно ли это или нет, может быть, я ничего не делаю правильно.
Я пытаюсь использовать подготовленное заявление, где колонка подготовлена
т.е.
SELECT ? FROM users
Теперь это нормально работает, если я
SELECT id FROM users
Но, выполняя первый оператор, значение представляет собой имя столбца.
id = id
0 = 0
Что я делаю неправильно, или это возможно?
благодаря
Нет, вы не можете связывать имена столбцов или имена таблиц.
Вот еще информация Идентификация имен столбцов в операторах PDO
Подготовленный оператор может заменить значение только в поле statement not field или column name, потому что подготовленный оператор вроде бы предварительно скомпилирован и оптимизирован в функции целого оператора, за исключением значения.
так что это возможно:
SELECT id FROM users WHERE name=?
но не это:
SELECT ? FROM users WHERE name='john' SELECT id FROM ? WHERE name='john' SELECT id FROM users WHERE ?='john'