2017-07-12 11 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");