Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 无法输出数据库中数组的所有行_Php_Mysql_Arrays - Fatal编程技术网

Php 无法输出数据库中数组的所有行

Php 无法输出数据库中数组的所有行,php,mysql,arrays,Php,Mysql,Arrays,问题:每个数组只能输出一个字段 <?php error_reporting(0); session_start(); include('connect.php'); ob_start(); $category = array( "dates" => array(), "paragraphs" => array(), "titles" => array() ); i

问题:每个数组只能输出一个字段

 <?php
    error_reporting(0);
    session_start();
    include('connect.php');
    ob_start();

    $category = array(
        "dates" => array(),
        "paragraphs" => array(),
        "titles" => array()
    );

    if ($result = $mysqli->query("SELECT * FROM tips")){
        if($result->num_rows){
            while($row = $result->fetch_array(MYSQLI_ASSOC)){
            //printf ("%s %s %s\n",$row["date"], $row["title"], $row["paragraph"]); 
            $dates= array($row["date"]);
            $titles = array($row["title"]);
            $paragraphs = array($row["paragraph"]);
            }
            }
            $result->free();
        }

    ?>

我想首先显示数组中的最后一个,所以我使用这个

<?php echo $titles[count($titles)-1]?>


我认为问题在于我的循环,我认为它在每次循环时重新分配数组

您没有正确地向
$category
数组添加值:

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
   $category['dates'][] = $row["date"];
   $category['titles'][] = $row["title"];
   $category['paragraphs'][] = $row["paragraph"];
}

现在,使用
$dates=array($row[“date”])
等,您只需反复将值分配给相同(从未声明过)的
$dates
变量。

您没有正确地将值添加到
$category
数组中:

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
   $category['dates'][] = $row["date"];
   $category['titles'][] = $row["title"];
   $category['paragraphs'][] = $row["paragraph"];
}

现在,使用
$dates=array($row[“date”])
等,您只需将值一次又一次地分配给相同(从未声明过)的
$dates
变量。

每次迭代
时,
在您的变量中创建一个新数组,第一个位置存储当前行数据迭代

每次都会覆盖最后一个,请不要尝试
$data=array($row['data'])
,而是
$data[]=$row['data']


通过这种方式,您可以将每次迭代的值推送到数组的新索引中。

每次迭代
时,
会在您的VAR中创建一个新数组,该数组的第一个位置存储当前行数据迭代

每次都会覆盖最后一个,请不要尝试
$data=array($row['data'])
,而是
$data[]=$row['data']


通过这种方式,您可以将每次迭代的值推送到数组的新索引中。

while的每次迭代都会在VAR中创建一个新数组,该数组的第一个位置存储当前行数据迭代。每次都会覆盖最后一个,请不要尝试
$data=array($row['data'])
,而是
$data[]=$row['data']
。通过这种方式,您可以将每次迭代的值推送到数组的新索引中。效果非常好,Alan,非常感谢。将其写为答案,我将接受您的代码假设
$titles
是一个数组,而不是数组。您真的需要
从表中选择所有项目吗?为什么不直接获取您需要的最后一个数组呢?我不需要选择全部实际上,我将在我的select语句中使用LIMIT while的每次迭代都会在您的VAR中创建一个新数组,第一个位置存储当前行数据迭代。每次都会覆盖最后一个,请不要尝试
$data=array($row['data'])
,而是
$data[]=$row['data']
。通过这种方式,您可以将每次迭代的值推送到数组的新索引中。效果非常好,Alan,非常感谢。将其写为答案,我将接受您的代码假设
$titles
是一个数组,而不是数组。您真的需要
从表中选择所有项目吗?为什么不选你需要的最后一个呢?我不需要全选。事实上,我会在我的选择语句中使用限制。。这将为每个列集而不是每个行集创建数组。@CodeGodie,
$category['titles']
是一个数组,
$category['titles'][=$row[“title”]
将向该数组添加新元素;通过该操作,可以显示带有
echo$category['titles'][count($category['titles'])-1]
的最后一项,我猜他也忘记了他的
$category
声明:)是和否。。这将为每个列集而不是每个行集创建数组。@CodeGodie,
$category['titles']
是一个数组,
$category['titles'][=$row[“title”]
将向该数组添加新元素;通过该操作,您可以显示最后一个带有
echo$category['titles'][count($category['titles'])-1]
的项目,我猜他也忘记了自己的
$category
声明:)