我exeriencing與pg_fetch_all
一個奇怪的問題(postgresql
):它永遠不會返回我更棕褐色2列PHP的PostgreSQL pg_fetch_all
對於爲例,此代碼:
$dbh = pg_connect("host=localhost dbname=dbname user=user password=passwd");
$query = "SELECT m.id, v.nom, v.id FROM machine m, version v WHERE m.id_version = v.id;";
$result = pg_query($dbh, $query);
$array = pg_fetch_all($result);
print_r($array);
只打印我m.id
,v.nom
!
如果我在pg_my_admin中粘貼完全相同的SQL請求,則返回每個colomn。
如果我分析我的結果作爲
$array = array();
while ($row = pg_fetch_row($result)) {
$array[] = $row;
}
它完美的作品。爲什麼?
考慮使用PDO(http://php.net/manual/en/book.pdo.php)進行數據庫事務,而不是使PostgreSQL成爲應用程序的依賴項。 PDO允許您在不需要修改應用程序的情況下交換數據庫。 –
謝謝。我正在使用伊甸園php工具包,它使用PDO處理數據庫內容。 http://www.eden-php.com/ – Martin
PDO允許使用相同的函數集來訪問數據庫,但絕不會阻止開發人員使用供應商專有的SQL來編寫僅與其數據庫一起工作的應用程序。所以說PDO允許你用相同的代碼切換數據庫是不正確的。 – greg