【发布时间】:2023-02-07 05:22:10
【问题描述】:
由于移动到新服务器,我正在转换我所有的 php 脚本。我很困惑为什么 $row[0] 不起作用。
我正确地将 $row 填充为一个数组,如果我在其上运行 foreach,我会很好地填充所有值。但是,如果相反,我尝试直接访问数组的第一个值作为 $row[0],我什么也得不到。有人知道吗?
$sql = "DESCRIBE USER";
$result = $dbh->query($sql);
$count=0;
while($row = $result->fetch_assoc()) {
print $row[0]; // this prints nothing
foreach($row as $column) {
print "$column"; // this works as expected
}
} #<-- while
【问题讨论】:
-
因为它是 assoc 并且键是名称(列名)而不是数字索引。
-
因为
$row是关联数组,而不是索引数组。你应该使用$row['column_name'] -
如果您将
fetch_assoc()更改为fetch_row(),它将起作用。