在我的项目中,我想将DB数据放到json文件中。我可以成功获取数据库数据,这些数据应该在datagrid.json中。
这是我的PHP代码:
<?php
include("DB.php");
$sql="select aa,bb,cc,dd from OA where sysnum='TZ20171204173151317';";
$sel=$conn->query($sql);
$arr=array();
while($row=$sel->fetch(PDO::FETCH_ASSOC))
{
$arr[]=$row;
}
$result["rows"]=$arr;
$file='datagrid.json';
file_put_contents($file, $result);
?>
以下是datagrid.json的正确内容:
{"rows":[{"aa":"123.jpg","bb":".jpg","cc":"Tom","dd":"2017-12-04 17:31:51"},
{"aa":"1.jpg","bb":".jpg","cc":"Stack","dd":"2017-12-04 17:31:56"},
{"aa":"test.jpg","bb":".jpg","cc":"Jack","dd":"2017-12-04 17:32:00"}
]}
我有chmod of datagrid.json:
chmod 777 datagrid.json
但它失败了。无法创建Datagrid.json。有人可以帮帮我吗?
答案 0 :(得分:0)
您无法将数组存储在文件中。相反,您必须使用json_encode()将数组转换为json格式。
<?php
include("DB.php");
$sql="select aa,bb,cc,dd from OA where sysnum='TZ20171204173151317';";
$sel=$conn->query($sql);
$arr=array();
while($row=$sel->fetch(PDO::FETCH_ASSOC))
{
$arr[]=$row;
}
$result["rows"]=$arr;
$file='datagrid.json';
file_put_contents($file, json_encode($result)); // Convert to json before saving
?>