php - MySQL 错误 : query not giving correct data

标签 php mysql

我执行 mySQL 查询以获取一些数据,然后(出于调试目的)将其打印出来。在此特定示例中,有 5 行数据,数据库表中的每个 room_id 都有一个值。然而,打印输出仅显示第一行的 room_id。

$query_rooms = "SELECT room_id FROM lh_rooms WHERE hid = '$hid'";
$rooms = mysql_query($query_rooms, $MySQL) or die(mysql_error());
$row_rooms = mysql_fetch_assoc($rooms);
$numrows = mysql_num_rows($rooms);
    $i = 0;
while ($i < $numrows) {
    $room_id=$row_rooms['room_id'][$i];
echo $i." - ".$room_id."<br><br>";
   ++$i;
}

0 - 2

1 -

2 -

3 -

4 -

谁能解释一下发生了什么

最佳答案

您正在获取多行。

因此,您需要循环遍历结果集,而不是只获取一次。

更正后的代码:

$query_rooms = "SELECT room_id FROM lh_rooms WHERE hid = '$hid'";
$rooms = mysql_query($query_rooms, $MySQL) or die(mysql_error());
$i=0;
while($row_rooms =  mysql_fetch_assoc($rooms)) {
    $room_id=$row_rooms['room_id'];
    echo $i." - ".$room_id."<br><br>";
    ++$i;
}

注意:切勿使用 mysql_,它们已被弃用,并将在即将发布的版本中删除。请改用 mysqli_PDO

关于php - MySQL 错误 : query not giving correct data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33499929/

相关文章:

mysql - 使用 UPDATE 从现有值中减去返回负值

php - Array-Merge 在 PHP 中的关联数组上

php file_put_content 覆盖

javascript - 在 JQuery 脚本中刷新 CURTIME() 值

mysql - MySQL中的高频插入

java - 从两个不同的 mysql 数据填充 jcombobox

mysql - mysql中三个表之间的内连接

php - 使用动态字段时发布复选框值

PHP 数组,显示 1.apple 2.banana 等水果

php - 显示数据库内容? PHP/MySQL