PDO:选择使用预准备语句返回列名

时间:2011-04-07 15:27:22

标签: php pdo prepared-statement

嘿伙计们,问一下这是否可能,也许我做得不对。

我正在尝试使用准备好的语句来准备列

SELECT ? FROM users

现在,如果我放

,这通常有效
SELECT id FROM users

但是做第一个语句时,值是列名。

id = id
0 = 0

我做错了什么,或者这可能吗?

由于

2 个答案:

答案 0 :(得分:6)

否您无法绑定列名或表名。

以下是更多信息Escaping column names in PDO statements

答案 1 :(得分:5)

预准备语句只能替换语句中的值而不是字段或列名,这是因为预编译语句是在整个语句的功能中进行预编译和优化的,除了值。

所以这是可能的:

SELECT id FROM users WHERE name=?

但不是这样:

SELECT ? FROM users WHERE name='john'
SELECT id FROM ? WHERE name='john'
SELECT id FROM users WHERE ?='john'