2013-12-18 74 views
0

我想從我的postgres數據庫做一個簡單的查詢,然後嘗試操作數據。打印Postgres數據庫陣列的所有行

我做的腳本如下;

function connectLocalDB() { 

    $dbconnection = pg_connect("host=192.168.97.120 port=1337 dbname=x user=x password=x") or die("Unable to connect to Postgres"); 


    // INPUT table from userDB 
    $userINPUTresult = pg_query($dbconnection, "SELECT * FROM \"INPUT\""); 
    if (pg_num_rows($userINPUTresult)>0) { 

     $userINPUTArray = pg_fetch_array($userINPUTresult); 
     print_r($userINPUTArray); 

     echo "INPUT CHAIN RULES LOADED \n"; 

    } else { 

     echo ("NO INPUT CHAIN RULES \n"); 
    } 

現在一切都很好,除了打印只打印出數據庫結果集的第一行,而我在我的數據庫3行。我在這裏錯過了什麼?

+1

HTTP:// WWW。 php.net/manual/fr/function.pg-fetch-array.php –

+1

文檔(http://www.php.net/pg_query)向您展示瞭如何迭代結果集。 –

回答

2

pg_fetch_array()如果你在表超過1個記錄返回對應於所取得的行(記錄)數組 你應該使用while循環

爲:

if (pg_num_rows($userINPUTresult)>0) { 

     while($userINPUTArray = pg_fetch_array($userINPUTresult)) 
     { 
     print_r($userINPUTArray); 

     echo "INPUT CHAIN RULES LOADED \n"; 
     } 
    } else { 

     echo ("NO INPUT CHAIN RULES \n"); 
    } 
+0

謝謝加載。下次我必須更仔細地閱讀PHP.net上的文檔。 – MichaelP