我對使用Postgress比較新,所以我試圖在不使用PDO語句的情況下得到結果。 我的代碼如下,現在我成功地與數據庫建立了連接,執行時我的網頁沒有任何結果。在進一步的檢查中,我注意到while循環沒有執行我知道這不是我的查詢語句的邏輯錯誤,因爲我在數據庫上運行了相同的查詢並返回值。我的postgress查詢語句的結果沒有值?
我認爲問題是在while循環中,但我無法理解。對數據庫的這個查詢返回了43個結果。
$query = "SELECT * FROM property WHERE latitude BETWEEN " .$lat1 ." AND " .$lat2 ." AND longitude BETWEEN " .$lng1 ." AND " .$lng2;
$result = pg_query($db, $query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}
pg_result_seek($result,0);
while($myrow = pg_fetch_assoc($result)) {
echo "reached";
printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $myrow['p_id'], htmlspecialchars($myrow['type']), htmlspecialchars($myrow['latitude']), htmlspecialchars($myrow['longitude']));
printf ("<br>");
又再次重申,結果數組不爲空,因爲它不拋出一個錯誤的消息,我覺得這是一個問題只與while語句。
您的來電'pg_query'之前,添加一個'回聲$查詢;'讓我們知道它顯示了什麼。這可能是'lat1> lat2'或'lng1> lng2' ... – joanolo