php - 多维 PHP 数组保持为空

标签 php mysql multidimensional-array while-loop

我正在尝试在 PHP 函数中创建多维数组。但这似乎不起作用。我写的函数:

//Get newsitems
function getNews() {
    $result = mysql_query("SELECT * FROM news WHERE archived='0' ORDER BY `id` DESC")
    or die(mysql_error());

    $array = array();

    while($row = mysql_fetch_array($result)) {

        $array[] =  array ( 'title' => $row['title'], 
                            'content' => $row['content'], 
                            'date' => $row['pagid'], 
                            'image' => $row['image'], 
                            'youtube' => $row['youtube']

    }

    return $array;
}

然后我尝试通过这样做来获取数组:

$aNews = getNews();

当我打印这个数组时,没有显示任何内容。我究竟做错了什么?数据库查询不会返回任何错误。

最佳答案

您有一个语法错误,您没有关闭括号并终止数组周围的行。

更改为:

    $array[] =  array ( 'title' => $row['title'], 
                        'content' => $row['content'], 
                        'date' => $row['pagid'], 
                        'image' => $row['image'], 
                        'youtube' => $row['youtube'] ); // <-- this

因此,您应该会收到 fatal error ,白屏通常表示 fatal error ,但错误报告/显示已关闭。为了将来的调试,您可以查看错误日志或打开错误:

error_reporting(E_ALL);
ini_set('display_errors', '1');

旁注:

  • mysql_* 库已弃用,请考虑升级到现代 API,例如 MySQLi 或 PDO。
  • 如果您必须使用此库,至少更改为 mysql_fetch_assoc(),因为您只对关联数组感兴趣。

关于php - 多维 PHP 数组保持为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609671/

相关文章:

java - 确定二维数组中的行是否唯一

php - 如何修复 PHP 请求结果而不是 mysqli_fetch_assoc 的 bool 值?

php - 在 php 中点击 url 时发送 xml 响应

MySQL:列出一个学期注册超过 6 个(不同)类(class)的学生(Sname)

mysql - 长时间运行的 Rails 迁移步骤似乎没有完成

arrays - 将一维字符串转换为多维数组 - Numpy

php - 如何重新索引多维数组的所有子数组元素?

php - 如何计算 MySQL 数据库中列的唯一记录?

php - 使用 Javascript 将值插入多个隐藏字段,每个字段都以不同的形式

在 Node Express Handlebars 应用程序中找不到 javascript 文件