0

我正在尝试从我的 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 行。我在这里想念什么?

4

1 回答 1

3

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");
    }
于 2013-12-18T11:58:15.530 回答