Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何迭代mysqli_fetch_array()的结果?_Php_Mysqli - Fatal编程技术网

Php 如何迭代mysqli_fetch_array()的结果?

Php 如何迭代mysqli_fetch_array()的结果?,php,mysqli,Php,Mysqli,在以下代码中,结果包含多个产品,每个产品都有多个列: $db = connect_db(); $sql = "SELECT * FROM Products"; $result = $db->query($sql); $ary = $result->fetch_array(MYSQLI_ASSOC); foreach($ary as $key => $element){ echo "key is $key, element is $element \n"; } 但输出仅迭代

在以下代码中,结果包含多个产品,每个产品都有多个列:

$db = connect_db();
$sql = "SELECT * FROM Products";
$result = $db->query($sql);
$ary = $result->fetch_array(MYSQLI_ASSOC);
foreach($ary as $key => $element){
  echo "key is $key, element is $element \n";
}
但输出仅迭代单个产品的每一列:

key is id, element is 1
key is productCode, element is S10_1678
key is productName, element is 1969 Harley Davidson Ultimate Chopper
key is productLineId, element is 5
key is productScale, element is 1:10
key is productVendor, element is Min Lin Diecast
key is productDescription, element is This replica features working kickstand, front suspension, gear-shift lever, footbrake lever, drive chain, wheels and steering. All parts are particularly delicate due to their precise scale and require special care and attention.
key is quantityInStock, element is 7933
key is buyPrice, element is 48.81
key is MSRP, element is 95.7

如何获取二维数组,该数组一次只能获取一条记录,而这是您案例中的第一条记录,您需要使用

while($ary = $result->fetch_array(MYSQLI_ASSOC)) //fetching one record at a time until end of record
{

    foreach($ary as $key => $element){
      echo "key is $key, element is $element \n";
    }

}

$ary=$result->fetch_array(MYSQLI_ASSOC)
一次只获取一条记录,这是您的案例中的第一条记录,您需要在
时使用

while($ary = $result->fetch_array(MYSQLI_ASSOC)) //fetching one record at a time until end of record
{

    foreach($ary as $key => $element){
      echo "key is $key, element is $element \n";
    }

}

我相信这会奏效:

while ($ary = $result->fetch_array(MYSQL_ASSOC){
  foreach($ary as $key => $element){
    echo "key is $key, element is $element \n";
  }
}
这意味着,当有更多记录时,它将继续将它们放入数组并打印它们。。。 这是基于旧的mysql\u fetch\u assoc()和mysql\u fetch\u array()的

祝你好运

如果你想实现你想要的,你只需要做以下几件事:

 while ($ary = $result->fetch_array(MYSQL_ASSOC){
      foreach($ary){
        $array[] = $ary;
      }
    }

现在,
$array
拥有了整个结果集,因此,
$array[0]['MSRP']
-将返回您想要的值。

我相信这会起作用:

while ($ary = $result->fetch_array(MYSQL_ASSOC){
  foreach($ary as $key => $element){
    echo "key is $key, element is $element \n";
  }
}
这意味着,当有更多记录时,它将继续将它们放入数组并打印它们。。。 这是基于旧的mysql\u fetch\u assoc()和mysql\u fetch\u array()的

祝你好运

如果你想实现你想要的,你只需要做以下几件事:

 while ($ary = $result->fetch_array(MYSQL_ASSOC){
      foreach($ary){
        $array[] = $ary;
      }
    }

现在,
$array
拥有了整个结果集,因此,
$array[0]['MSRP']
-将返回您想要的值。

您需要迭代mysql\u fetch命令,而不是该命令的结果

例如:

$db = connect_db();
$sql = "SELECT * FROM Products";
$result = $db->query($sql);

while($entry = mysql_fetch_assoc($result))
{
  // $entry is an array you with the data of this DB-entry, eg
  echo $entry['MSRP'];
}

您需要迭代mysql_fetch命令,而不是该命令的结果

例如:

$db = connect_db();
$sql = "SELECT * FROM Products";
$result = $db->query($sql);

while($entry = mysql_fetch_assoc($result))
{
  // $entry is an array you with the data of this DB-entry, eg
  echo $entry['MSRP'];
}

为了进一步解释,fetch_array()迭代每个结果,当传递最后一项时,条件失败。有关end()的详细说明,请参见php手册。有关进一步的说明,fetch_array()会迭代每个结果,当传递最后一项时,条件将失败。有关end()的详细信息,请参见php手册。