应该是非常基本的,但我无法让它发挥作用。我有这个代码来迭代mysqli查询:
while($row = mysqli_fetch_array($result)) {
$posts[] = $row['post_id'].$row['post_title'].$row['content'];
}
它起作用并返回:
变量#1 :(数组,3个元素)↵ 0(字符串):“4testtest”(9个字符) 1(String):“1Hello world!欢迎使用WordPress。这是你的第一篇文章。编辑或删除它,然后开始写博客!” (99个字符) 2(字符串):“2Sample Page这是一个示例页面。它与博客文章不同,因为它将保留在一个地方并将显示在 您的网站导航(在大多数主题中)。“(161个字符)
问题是它将所有三个列放在一列中,因此我无法单独访问它们。
例如:
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行而不是全部三行......
非常感谢任何帮助!
答案 0 :(得分:18)
从MySQL获取所有值:
$post = array();
while($row = mysql_fetch_assoc($result))
{
$posts[] = $row;
}
然后,获取每个值:
<?php
foreach ($posts as $row)
{
foreach ($row as $element)
{
echo $element."<br>";
}
}
?>
回应价值观。或者从$ post变量中获取每个元素
答案 1 :(得分:3)
我认为这是输出结果的更简单方法。
很抱歉使用我自己的数据应该很容易替换。
$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>";
}
这将输出:
答案 2 :(得分:2)
这是你的解决方案。
$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++;
}
答案 3 :(得分:-1)
两者都可以在while循环 mysqli_fetch_array 中完美地运行
while($row = mysqli_fetch_array($result,MYSQLI_BOTH)) {
$posts[] = $row['post_id'].$row['post_title'].$row['content'];
}
(OR)
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:同时获取关联数组和数字数组。
答案 4 :(得分:-2)
试试这个:
$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);
答案 5 :(得分:-3)
试试这个......
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {