我正在尝试从我的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行。我在这里缺少什么?
答案 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");
}