从Postgres数据库阵列打印所有行

时间:2013-12-18 11:43:56

标签: php arrays postgresql php-pgsql

我正在尝试从我的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 个答案:

答案 0 :(得分:3)

pg_fetch_array()返回与获取的行(记录)对应的数组 如果表中有多个记录,则应使用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");
    }