【发布时间】:2012-01-08 23:40:27
【问题描述】:
我正在使用 PDO 并想做这样的事情:
$query = $dbh->prepare("SELECT * FROM :table WHERE :column = :value");
$query->bindParam(':table', $tableName);
$query->bindParam(':column', $columnName);
$query->bindParam(':value', $value);
PDO 是否允许我像这样绑定表名和列名? 似乎允许这样做,但即使我使用 PDO::PARAM_INT 或 PDO::PARAM_BOOL 作为数据类型,它也会在我的参数周围加上引号。
如果这不起作用,我怎样才能安全地转义我的变量,以便我可以在查询中插入它们?
【问题讨论】:
-
准备好的语句是一个查询谁的路径已被分析。您无法分析没有表甚至列信息的查询。