我正在使用以下代码从名为 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/