php - 使用 mysql_fetch_array() 生成的数组在使用后消失?

标签 php arrays mysql

我有一个典型的数据库查询:

$query = mysql_query('SELECT titulo,referencia FROM cursos WHERE tipo=1 AND estado=1');

我可以将它转换成数组并打印数据:

while ($results=mysql_fetch_array($query)): ?>
echo $results['referencia'];
// and so...
endwhile;

但在某些情况下我需要在网页的另一部分打印相同的数据,但是 $results 数组似乎是空的(我使用 var_dump($results) 并且我得到 bool (假))。我打算用我读到的东西Create PHP array from MySQL column ,但不应该 mysql_fetch_array() 创建一个数组?那么,会发生什么?

最佳答案

泰,您的$resultwhile 循环结束时为false 的原因是mysql_fetch_array到达查询集末尾时返回 false。 (请参阅主题上的 PHP Docs)当您到达查询集的末尾时,$results 设置为 false 并且 while 循环退出。如果您想保存数组(数据库行结果)供以后使用,请按照 Chacha102 的建议进行操作并存储从数据库中提取的每一行。

$data = array();
while($results = mysql_fetch_array($query)) {
    $data[] = $results;
}
foreach ($data as $result_row) {
    echo $result_row['referencia'];
    ... etc.
}

关于php - 使用 mysql_fetch_array() 生成的数组在使用后消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144393/

相关文章:

ios - Swift3 中的数组过滤器

php - CodeIgniter 中的特征

php - 重定向太多

java - 将对象的 int 变量与 String 进行比较

javascript - 通过公共(public)对象键合并多个对象数组

javascript - 从 MySQL 数据库在 Google Maps API v3 上绘制多个多边形

mysql - MySQL 表中的错误 "generated Column cannot refer to auto-increment column "

php - 简单的 MySQL "USE"查询不会使用 PHP 返回任何响应

php - jQuery获取div内容并通过ajax发送到php脚本

PHP 从 MySQL 获取日期和时间