php - foreach 循环中的 while 循环不正确循环

标签 php mysql

我正在尝试为学校项目制作一个非常 基本的 php ORM。我几乎一切正常,但我正在尝试将结果映射到数组。这是一段代码,希望能帮助我的解释。

$results = array();

foreach($this->columns as $column){

    $current = array();

    while($row = mysql_fetch_array($this->results)){
        $current[] = $row[$column];
        print_r($current);
        echo '<br><br>';
    }

    $results[$column] = $current;

}

print_r($results);

return mysql_fetch_array($this->results);

这可行,但 while 循环仅适用于第一列。 print_r($results); 显示以下内容:

Array ( [testID] => Array ( [0] => 1 [1] => 2 ) [testName] => Array ( ) [testData] => Array ( ) )

有人能解释一下吗? 提前致谢!

最佳答案

这是因为你已经获取了每一行,并且内部指针在末尾。 下一段时间,mysql_fetch_array() 将立即返回 false。 您可以将指针重置为第一行:

mysql_data_seek($this->results, 0);

放在前面

while($row = mysql_...

关于php - foreach 循环中的 while 循环不正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799563/

相关文章:

php - 为 Cassandra 安装 PHP 驱动程序

PHP 和 cometd 。需要一些指导

php - Symfony2 : Solution for repeating a code within each new controller

PHP/MySQL 跟踪使用情况

php - php 中的 MySQL 查询中的内部联接不起作用

php - 使用 Dusk 测试附加文件 - 通过 Tinker 工作,但不能从测试中工作

php - 在 SQL 中从另一个表更新一个表的最佳方法是什么?

mysql - golang sql查询超时

PHPExcel 公式小计/teilergebnis - Excel2016 检测到内容问题

mysql - 存储不同的用户类型