2017-07-12 15 views
0

我正在使用PHP,SilexPostgreSQL数据库。我有一段代码执行完全按照预期:在查询中使用“WHERE”时,PDO失败

$statement = $app['pdo']->query("SELECT * FROM my_table LIMIT 50"); 
$string = $statement->fetchAll(PDO::FETCH_ASSOC); 
$json = json_encode($string); 
return $json; 

当我加入了“WHERE”参数改变的一件事,它失败:

$statement = $app['pdo']->query("SELECT * FROM my_table LIMIT 50 WHERE id > 3000"); 
$string = $statement->fetchAll(PDO::FETCH_ASSOC); 
$json = json_encode($string); 
return $json; 

我检查了“ID”不在模式中大写,它被格式化为一个整数。表中的Id值范围从1到5000,并且填充了随机条目,其中许多条目应满足查询。

什么问题?

回答

3

WHERE至上

SELECT * FROM my_table WHERE id > 3000 LIMIT 50 
+0

哇后去。我希望错误报告会告诉我。 – user1755043

+0

在任何其他事情之前先测试您的查询。 – maSTAShuFu

2

限制在where子句

$statement = $app['pdo']->query("SELECT * FROM my_tableWHERE id > 3000 LIMIT 50");