如果我在 result::fetch_row 上使用 foreach,如何获取由 result:: 返回的单元格的列名


How to get the column name of the cell which returned by result::fetch_row if I use foreach on it?

我创建了一个简单的php代码来打印mysqli查询的结果,无论它是什么查询以及其中有多少列和行。我的简化 php 代码是:

$result = $mysqli->query ($query);
while ($row = $result->fetch_row()) {
   if ($row["status"] == "0") continue;
   foreach ($row as $cell) {
       echo $cell;
   }
   echo "'n";
}
现在我想省略一些要打印的列(例如:名为"status"的列

(,但我必须在查询中包含"status"列,因为我需要检查此"status"值以确定是否将打印整行(检查比这稍微复杂一些,在查询本身上执行此操作是不切实际的(。但是如果打印了该行,我不希望在表中打印"状态"列。但是我无法知道我进入foreach的$cell是否命名为"状态",而且我还有其他几列具有类似的值,例如"状态",所以我也无法根据值进行检查。我该怎么做?我已经阅读了php mysqli::fetch_row((手册,但似乎并不是每个$cell都是一个对象,可以应用方法询问其列名是什么。谢谢。

所以只选择状态为 !=0 的行

SELECT a,b,c FROM user WHERE status!=0;

更新:

unset($row["status"]);
var_dump($row);