繁体   English   中英

MySQLi查询到数组-遍历数组返回空结果

[英]MySQLi query to Array - Looping over array returns empty results

因此,这是我遇到的一件奇怪的事情,也许是因为深夜,或者我只是在这里缺少一些基本的东西。 我必须将查询发送到数组而不是遍历查询,因为其他API调用可以发送数组而不是来自数据库。 该查询也会返回多个项目。 转到代码:

$result = $db->query("SELECT ID FROM tblTemp WHERE FOREIGN_KEY='2'");
$tmp = $result->fetch_array(MYSQLI_BOTH);        

for($i = count($tmp); $i > 0; --$i) {
echo '<option value="'.$tmp[$i-1].'">Item '.$i.'</option>';
}

因此,我只是试图将数组项放入HTML选择中。 这对于传递的$ tmp数组很好; 但是,使用查询时发生的是,在选择中仅填充了第一条记录。 添加了正确数量的项目,但缺少值。

<option value="">Item 2</option>
<option value="7">Item 1</option> 

编辑:PHP确实引发以下错误:未定义偏移量:1

您只从查询中获取一条记录,这就是为什么您只有一个值并获得未定义的偏移量的原因。 在以下示例中,使用while循环从查询中获取所有结果。

$result = $db->query("SELECT ID FROM tblTemp WHERE FOREIGN_KEY='2'");
$html = "";
$i = 1;
while($tmp = $result->fetch_array(MYSQLI_BOTH)) {
    $html = '<option value="'.$tmp['ID'].'">Item '.$i.'</option>'.html;
    $i++;
}
echo $html;

其实,


  for($i = count($tmp); $i > 0; --$i) {
    echo 'Item '.$i.'';
  }
 

如果$ tmp返回正确的金额,则应该工作。 确保$ tmp返回正确的数据。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM