php - 将行查询输出到 php 中的表

标签 php sql arrays postgresql

我正在使用以下代码从名为 data_cases 的表中输出行:

$query = 'SELECT * FROM mydb.data_cases 
WHERE id=123 ORDER BY log_date_time DESC';

$result = pg_query($query) or die("Failed".$query);

$line = pg_fetch_array($result, null, PGSQL_ASSOC);

while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {     
        echo "\t\t<td>".$col_valuez."</td>\n";        
}

以上代码仅在有多条记录与该 ID 匹配时才有效。如果只有一个匹配行,我什么也得不到。我相信我应该以某种方式以不同的方式处理数据呈现部分。似乎只有一条记录仍可用作数组。我只是对为什么 foreach 会忽略一行感到困惑。我应该如何以适用于正确匹配的一行或多行的方式编写它?

谢谢

最佳答案

您在 while 循环之前添加了以下代码

$line = pg_fetch_array($result, null, PGSQL_ASSOC);

删除这一行,它应该按预期工作

关于php - 将行查询输出到 php 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430050/

相关文章:

php - 使用带有 array_fill 的匿名函数

php - 确定以前在实现随机盐时是否使用过密码

php - Laravel:PHP Artisan Migrate 抛出 PDO 异常:找不到驱动程序 (Postgres)

c - 如何为二维数组的 qsort 编写比较器函数?

php - 在 PHP 的一次调用中追加/连接多个字符串?

mysql - MYSQL数据库迁移不丢失记录

android - SQLite 查询 : selecting the newest row for each distinct contact

Mysql查询多条select语句输出多列

arrays - 快速使用过滤器来获取两个数组之间的差异

java - 确定 InputStream 的大小