Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Foreach(){}在第一行之后停止_Php_Loops_Pdo_Foreach - Fatal编程技术网

Php Foreach(){}在第一行之后停止

Php Foreach(){}在第一行之后停止,php,loops,pdo,foreach,Php,Loops,Pdo,Foreach,我只是试着循环我的数据库,我只得到第一行。 这是我的数据库PHP: database.class.php: <?php $pdo = new PDO('mysql:host=localhost; dbname=testing070416', 'root', 'root1'); $statement = $pdo->query("SELECT * FROM users"); $rows = $statement->fetch(PDO::FETCH_A

我只是试着循环我的数据库,我只得到第一行。 这是我的数据库PHP:

database.class.php:

<?php
     $pdo = new PDO('mysql:host=localhost; dbname=testing070416', 'root', 'root1');
     $statement = $pdo->query("SELECT * FROM users");
     $rows = $statement->fetch(PDO::FETCH_ASSOC);
     var_dump($rows);
?>

以及index.php

<?php include ('database.class.php');?>
   <table border="1">
      <?php foreach ($rows as $value=>$key ){
               echo '<tr><th style="color: red;">'.$value.'</th>';
               echo '<td>'.$key.'</td></tr>';
            }
      ?>

结果是:

应该还有4个ID可以循环


谢谢

使用fetchAll而不是fetch来获取所有结果

更改:

$rows=$statement->fetch(PDO::fetch\u ASSOC)

致:


$rows=$statement->fetchAll(PDO::FETCH_ASSOC)

使用
fetchAll
而不是
fetch

$rows = $statement->fetch(PDO::FETCH_ASSOC);
进入

然后为
index.php编写代码

<table border="1">
<?php
for($i = 0; $i == count($rows); $i++)
{
    foreach($rows[$i] as $value=>$key )
    {
        echo '<tr><th style="color: red;">'.$value.'</th>';
        echo '<td>'.$key.'</td></tr>';
    }
}
?>

取数
与取数
之间的差异
fetchAll

fetch
实际从结果集中获取下一行


fetchAll
返回包含所有结果集行的数组。

-。如果需要多行,请在while循环中使用或使用
fetch
。^我的想法很正确,但现在我在每个单元格中都得到了“array”@Erez.Matrix检查您的var转储输出,您就会明白。Salam Aleikum Hassaan,代码已更改并正在运行,但单元格为空:i.imgur.com/x9zrlT3.pngWalikum Salam,我已更新了答案,但代码未经测试。如果对你不起作用,请告诉我。
<table border="1">
<?php
for($i = 0; $i == count($rows); $i++)
{
    foreach($rows[$i] as $value=>$key )
    {
        echo '<tr><th style="color: red;">'.$value.'</th>';
        echo '<td>'.$key.'</td></tr>';
    }
}
?>