我正在運行一些PHP代碼,我試圖找到具有指定參數的行。我已成功連接數據庫,但是我遇到了一個問題。Postgres'where'查詢與PHP不工作
當我運行這段代碼:
$SQL = "SELECT * FROM schema.table";
$result = pg_exec($dbconn, $SQL);
while ($row = pg_fetch_array($result) {
echo "data: " .$row . "<br/>\n";
我得到陣列表明我成功地從數據庫中取這些數據,並能打印出來到網站頁面的打印清單。
但是,我需要過濾數據,我只希望具有特定ID的行。當我嘗試此查詢:
$SQL = "SELECT * FROM schema.table WHERE 'ID' = '123'";
pg_numrows($result)
爲0時,有四排與123號並沒有什麼顯示也沒有數組,我不知道爲什麼添加「其中」語句改變任何東西。數據發生了什麼,爲什麼過濾它將不再起作用?
已解答:找出遇到同樣問題的人的答案。
$SQL = "SELECT * FROM schema.table WHERE \"ID\" = '123'";
這是必須用於字符變化列的語法。感謝大家讓我意識到我正在用錯誤的引號運行一段有趣的代碼。
爲什麼你的ID通過'包圍,應該不是很123而不是'123'? – Sefam
反引號和單引號和熊,哦,我的! –
字符串'ID'永遠不會等於字符串'123'。 – bloodyKnuckles