2012-06-02 70 views
2
<?php 
    $current = 0; 
    $results = 5; 
    $statement = $db->prepare("SELECT title, id FROM mytable LIMIT ?, ?"); 
    $statement->execute(array($current, $results)); 
?> 

var_dump($statement); 
=> public 'queryString' => string 'SELECT title, id FROM mytable LIMIT ?, ?' (length=39) 

任何人都可以帮我找到为什么这不起作用吗?PHP准备的语句不工作

+5

定义“不工作”。 –

+0

问题标记不会被$ current和$ results取代,因此查询返回false –

+0

@RepWhoringPeeHaa - 谢谢。完全错过了标签。和往常一样,学到了一些东西。谢谢! –

回答

2

您需要将这些参数绑定为整数,而不是字符串(默认值)。绑定参数作为字符串自动添加引号。

$statement->bindParam(":current", $current, PDO::PARAM_INT) 

本示例使用命名占位符。我建议你不管用。

+0

阅读标签。 @cale –