Php Foreach(){}在第一行之后停止
我只是试着循环我的数据库,我只得到第一行。 这是我的数据库PHP: database.class.php: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
$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>';
}
}
?>