PDO没有返回结果

时间:2014-12-30 17:51:25

标签: php mysql pdo

我无法弄清楚自己做错了什么。如果我使用这组代码,我会得到我想要的结果:

$x =  $db->prepare('SELECT * FROM table LIMIT 2');
$x->execute();
print_r($x->fetchALL());

当我使用这组代码时,我得不到任何回报:

$a = "table";
$b = "2";
$x =  $db->prepare('SELECT * FROM ? LIMIT ?');
$x->execute(array($a,$b));
print_r($x->fetchALL());

我有什么遗失的东西吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

参数占位符只能用于替换列值;不是表名,列名或其他语法元素(包括LIMIT值)。

为了使您的查询对于无法参数化的事物具有动态性,您必须自己构建它,而无需PDO的帮助。但是,您仍然应该构建它,以便可以参数化的值进行参数化。