【发布时间】:2010-09-08 08:17:15
【问题描述】:
当我使用 PDO 准备好的语句,并使用它将表名插入查询失败时,一个简单的示例:
$stmt = $dbh->prepare("CREATE TABLE ? (id foo, int bar,...)");
$stmt->execute(Array('table_foobar'));
它所做的只是将? 替换为'table_foobar',单引号不允许为我创建表格!
我最终需要在准备好的语句的顶部执行sprintf 以添加预定义的表名。
我到底错过了什么?
【问题讨论】:
-
我认为表名不能被参数化。我会看看我是否可以得到任何硬文档
-
我也从未见过参数类型转换(
id foo等)。
标签: php mysql pdo prepared-statement