php中的postgresql数据库查询问题

|| 我已经编写了这段代码来显示从postgresql数据库中提取的项目列表,这是一个冗长的代码,因此我在此处添加了一些代码以解决我遇到的问题。我得到的结果在test1m下面给出
Resource id #4
Galle
Kandy
Anuradhapura
Dambulla
Hambantota
Colombo
Hikkaduwa
test2
Resource id #4
但期望一个是这个
test1m
Resource id #4
Galle
Kandy
Anuradhapura
Dambulla
Hambantota
Colombo
Hikkaduwa
test2
Resource id #4 Galle
Kandy
Anuradhapura
Dambulla
Hambantota
Colombo
Hikkaduwa
这是代码
$date = date(\"Y-m-d\");
$dbh = pg_connect(\"host=localhost dbname= drupal_test user=usrx password=123\");
if (!$dbh) {
  die(\"Error in connection: \" . pg_last_error());
}           

$sql1 = \"SELECT * 
           FROM node, modify_dates, node_counter 
          WHERE node.nid = modify_dates.nid 
            AND node.nid = node_counter.nid 
            AND modify_dates.nid = node_counter.nid 
            AND node_counter.totalcount < \'1000\' 
            AND node.type = \'city_guide\' 
       ORDER BY modify_dates.lmd\";
$sel1 = pg_query($sql1);

$sql2 = \"SELECT * 
           FROM node, modify_dates, node_counter 
          WHERE node.nid = modify_dates.nid 
            AND node.nid = node_counter.nid 
            AND modify_dates.nid = node_counter.nid 
            AND node_counter.totalcount > \'1000\' 
            AND node.type = \'city_guide\' 
       ORDER BY modify_dates.lmd\";
$sel2 = pg_query($sql2);

if(pg_num_rows($sel1) > 0) {
  echo \"test1\";
  chooseItems($sel1);                           
} else if(pg_num_rows($sel2) > 0) {
  echo \"test1m<br/>\";
  chooseItems($sel2);                           
} 

if(pg_num_rows($sel2) > 0) {
  echo \"test2<br/>\";
  chooseItems($sel2);                           
} else if(pg_num_rows($sel1) > 0) {
  echo \"test2m<br/>\";
  chooseItems($sel1);                           
}       

function chooseItems($sel) {
  echo $sel.\"<br/>\";                                    
  $m = 0;

  while($row = pg_fetch_array($sel)) {
    echo $row[\'title\'].\"<br/>\";                 
    $m = $m+1;                  
  }             
}               

pg_close($dbh); 
    
已邀请:
问题是“ 3”消耗一行输入。读取所有行之后,就是这样。但是消耗不会影响查询返回的行数。因此,
pg_num_rows()
保持不变,但是当您尝试通过pg_fetch_array()读取更多数据时,没有什么要读取的,它已经被消耗掉了。 您可以再次查询以刷新内容。     

要回复问题请先登录注册