我正在尝试在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();
当我打印这个数组时,没有显示任何内容。我究竟做错了什么?数据库查询不会返回任何错误。
答案 0 :(得分:2)
您有语法错误,没有关闭括号并终止数组周围的行。
更改为:
$array[] = array ( 'title' => $row['title'],
'content' => $row['content'],
'date' => $row['pagid'],
'image' => $row['image'],
'youtube' => $row['youtube'] ); // <-- this
因此,您应该收到致命错误,白屏通常表示致命错误,但错误报告/显示已关闭。对于将来的调试,您可以查看错误日志或打开错误:
error_reporting(E_ALL);
ini_set('display_errors', '1');
附注:
mysql_*
库,请考虑升级到现代API,例如MySQLi或PDO。mysql_fetch_assoc()
,因为您只对关联数组感兴趣。