php - 在 PHP 中使用 while 循环从 MySQL 表中获取数据

标签 php mysql

<分区>

tutorial在用 PHP 访问 MySQL 表时,他们给出了列出所有值的代码:

$query = "SELECT * FROM example"; 

$result = mysql_query($query) or die(mysql_error());


while($row = mysql_fetch_array($result)){
    echo $row['name']. " - ". $row['age'];
    echo "<br />";
}

我理解 while 循环如何在有一行要打印时返回 true,而在没有更多行时返回 false,但我不明白为什么如果我这样写就不起作用:

$query = "SELECT * FROM example"; 

$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);

while($row){
    echo $row['name']. " - ". $row['age'];
    echo "<br />";
}

它只返回第一行,我认为这意味着它总是返回值 true 但我不明白为什么。

最佳答案

这个:

$row = mysql_fetch_array($result)

while($row){
    echo $row['name']. " - ". $row['age'];
    echo "<br />";
}

不起作用,因为 $row 每次执行只取一个值,这意味着 while 循环将永远运行。

来自mysql_fetch_array文档:

Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.

while($row = mysql_fetch_array($result)) 版本中,while 的条件表达式将在每个循环中执行,因此移动 mysql内部结果指针向前(读取下一个结果)。

关于php - 在 PHP 中使用 while 循环从 MySQL 表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875441/

相关文章:

php - 图像在 mysql 中无法正确显示

mysql - 将图片插入sql表时出错

php - 如何防止在 php html 中包装 div

php - 如何修复 PHP 表单验证器错误?

php - 如何在数据库中存储 session 变量

javascript - 切换 PHP 表上的复选框

mysql - 如何在 Node.JS 中使用 SQL

php - 购物车保存数据到数据库php mysql

python - 获取选定的行 pyqt5 qtablewidget

mysql - vb.net上传pdf到mysql