【发布时间】:2014-11-29 10:03:12
【问题描述】:
我有一个 php 文件,它返回一个 JSON 数组,我将使用它与 javascript 一起使用来自 sql 数据库的新闻填充网站。 sql-query 在服务器上工作并返回我想要的信息。虽然 php 文件返回以下内容:
[{"rubrik":null,"ingress":null,"datum":"2014-11-10 16:11:54},{"rubrik":null,"ingress":null,"datum":"2014-11-28 23:17:02"}]
日期是正确的。尽管“rubrik”和“ingress”字段中有一些文本并且不为空。 数据库如下所示:
NAME TYPE COLLATION NULL
rubrik varchar(254) latin1_swedish_ci No
ingress text latin1_swedish_ci No
nyhet text latin1_swedish_ci No
datum timestamp No
现在不需要“nyhet”字段。
这就是我的 php 文件的样子。
$result = mysqli_query($con, "SELECT rubrik, ingress, datum FROM svensta_news");
$return_arr = array();
while ($row = mysqli_fetch_array($result))
{
$row_array['title']=$row['rubrik'];
$row_array['ingress']=$row['ingress'];
$row_array['date']=$row['datum'];
array_push($return_arr, $row);
}
echo json_encode($return_arr);
我无法理解这里有什么问题,为什么我的 php 在非 null 的字段上返回 null。
编辑:关于数据在数据库中的样子的信息
nyhetsId rubrik ingress news date
120 sometitle Someingress Null 2014-11-10 16:11:54
122 sometitle2 Someingress Null 2014-11-28 23:17:02
【问题讨论】:
-
如果数据库中的字段值为 null/blank(在 phpmyadmin 中设置为 null 的字段中),则返回 null.check 条件为 null 。 if($row['rubrik']!==NULL || $row['rubrik']!== ''){ $row_array['title']=$row['rubrik']; }else{ $row_array['title']=''; }
-
对此有什么解决方案/解释吗?
标签: php mysql sql-server json