mysqli_fetch_array while循环列(mysqli_fetch_array whi

2019-07-18 13:02发布

应该是非常基本的,但我不能得到它的工作。 我有这样的代码来遍历一个mysqli的查询:

while($row = mysqli_fetch_array($result)) {
    $posts[] = $row['post_id'].$row['post_title'].$row['content'];
}

它的工作原理,并返回:

变#1:(阵列,3片)↵0(字符串): “4testtest”(9个字符)1(字符串)!“1Hello世界欢迎使用WordPress这是你的第一篇文章,编辑或删除它,然后开始写博客。 !” (99个字符)2(字符串):“2Sample PageThis就是一个例子页它是从博客文章不同,因为它会停留在一个地方,并会在你的网站导航显示(在大多数主题)。” (161个字符)

问题是,它把所有的三个colums成一列,所以我不能seperatly访问它们。

这对于例如:

0(字符串): “4testtest”(9个字符)

应当分开成4,测试,测试

当我这样做:

while($row = mysqli_fetch_array($result)) {             
    $posts['post_id'] = $row['post_id'];
    $posts['post_title'] = $row['post_title'];
    $posts['type'] = $row['type'];
    $posts['author'] = $row['author'];  
}   

它仅输出1行,而不是所有三个...

任何帮助是极大的赞赏!

Answer 1:

从MySQL获得的所有值:

    $post = array();
    while($row = mysql_fetch_assoc($result))
    {
        $posts[] = $row;
    }

然后,让每个值:

<?php 
     foreach ($posts as $row) 
        { 
            foreach ($row as $element)
            {
                echo $element."<br>";
            }
        }
?>

为了呼应值。 或者您可以通过$后变量中的每个元素



Answer 2:

我认为这将是你的输出结果的更简单的方法。

对不起,我用我自己的数据应该很容易更换。

$query = "SELECT * FROM category ";

$result = mysqli_query($connection, $query);


    while($row = mysqli_fetch_assoc($result))
    {
        $cat_id = $row['cat_id'];
        $cat_title = $row['cat_title'];

        echo $cat_id . " " . $cat_title  ."<br>";
    }

这将输出:

  • - ID标题
  • 加里-1
  • 约翰-2
  • -3迈克尔斯


Answer 3:

这一次是你的解决方案。

$x = 0;
while($row = mysqli_fetch_array($result)) {             
    $posts[$x]['post_id'] = $row['post_id'];
    $posts[$x]['post_title'] = $row['post_title'];
    $posts[$x]['type'] = $row['type'];
    $posts[$x]['author'] = $row['author'];
    $x++;
}


Answer 4:

双方将完全在mysqli_fetch_array在while循环

while($row = mysqli_fetch_array($result,MYSQLI_BOTH)) {
    $posts[] = $row['post_id'].$row['post_title'].$row['content'];
}

(要么)

while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
    $posts[] = $row['post_id'].$row['post_title'].$row['content'];
}

mysqli_fetch_array() -有第二个参数$与resultType。

MYSQLI_ASSOC:取关联数组

MYSQLI_NUM:获取数字数组

MYSQLI_BOTH:取两者缔合和数字数组。



Answer 5:

试试这个 :

   $i = 0;    
    while($row = mysqli_fetch_array($result)) {  

            $posts['post_id'] = $row[$i]['post_id'];
            $posts['post_title'] = $row[$i]['post_title'];
            $posts['type'] = $row[$i]['type'];
            $posts['author'] = $row[$i]['author'];  

        }   
    $i++;
    }

print_r($posts);


Answer 6:

试试这个...

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {


文章来源: mysqli_fetch_array while loop columns