使用fetch_assoc通过PHP

时间:2015-07-09 07:49:33

标签: php mysql fetch

我正在尝试使用“fetch_assoc”功能来收集表格中所有行的所有“博客”字段。

目前,它有点作品;它会收集第一个行中第一个“博客”字段的内容,但是对于每隔一行,它会从第一行收集相同的数据。

因此,例如,这是我正在使用的代码:

$connection = new mysqli($host,$user,$pass,$db);

$result = $connection->query("SELECT * FROM `Blogs`");
$blogs = array();
$max = sizeof($blogs);
while( $row = $result->fetch_assoc() ) {
    $blogs[] = $row['Blog_Contents'];
    for ($x = 0; $x <= $max; $x++) {
      echo ("<div align=center> <div class=container> <div class='well well-lg wow bounceIn' data-wow-delay='.1s'>" . $blogs[$x] . "</div> </div> </div>");
    } 
}

截至目前,表格中有四行 - 所以一行会有:

Hello this is blog number 1 of the test scheme

两个会有:

Hello this is blog number 2 of the test scheme

同样的3和4,博客中的数字随着它的索引而增加。

目前,我的代码产生了以下结果:

Hello this is blog number 1 of the test scheme
Hello this is blog number 1 of the test scheme
Hello this is blog number 1 of the test scheme
Hello this is blog number 1 of the test scheme

有人可以告诉我为什么我的代码没有阅读其他Blog_Contents吗?

也许告诉我如何纠正代码?

很抱歉,如果我没有很好地解释它;我尽可能多地研究这个但却找不到我需要的东西。 提前谢谢,

Sparkhead95

2 个答案:

答案 0 :(得分:0)

在while循环中初始化$ max的值

$result = $connection->query("SELECT * FROM `Blogs`");
$blogs = array();

while( $row = $result->fetch_assoc() ) {
    $blogs[] = $row['Blog_Contents'];
    $max = sizeof($blogs);
    for ($x = 0; $x <= $max; $x++) {
      echo ("<div align=center> <div class=container> <div class='well well-lg wow bounceIn' data-wow-delay='.1s'>" . $blogs[$x] . "</div> </div> </div>");
    } 
}

答案 1 :(得分:0)

感谢@VolkerK指出它 - 我在我的代码中有这个:

$blogs = array(); $max = sizeof($blogs);

所以我的$ max变量总是为0.

我将代码更改为:

$connection = new mysqli($host,$user,$pass,$db);

$result = $connection->query("SELECT * FROM `Blogs`");
$blogs = array();

while( $row = $result->fetch_assoc() ) {
    $blogs[] = $row['Blog_Contents'];
}
$max = sizeof($blogs);
for ($x = 0; $x <= $max; $x++) {
    echo ("<div align=center> <div class=container> <div class='well well-lg wow bounceIn' data-wow-delay='." . $x . "s'>" . $blogs[$x] . "</div> </div> </div>");
} 

现在它有效。

再次感谢。