在php中提供json数据

时间:2017-01-03 13:20:38

标签: php json codeigniter

我希望在双列数据库数据json_datajson_data中插入,我无法在数据库中获取插入值$data_end = json_decode('[ { "woid": "2254271", "json_data": [ { "code": "23", "date": "Tue, 03 Jan 2017 03:30 PM IRST", "temp": "68", "text": "Breezy" } ] }, { "woid": "2254271", "json_data": [ { "code": "23", "date": "Tue, 03 Jan 2017 03:30 PM IRST", "temp": "68", "text": "Breezy" } ] } ]'); foreach($data_end as $idx=>$val){ $this->admin_model->UpdateData('weather', array('json_data' => $val->json_data), array('woid' => $val->woid)); } ,这是怎么回事?

weather

并告诉我这个错误:

  

遇到PHP错误
严重性:通知
消息:数组到   字符串转换
文件名:database / DB_driver.php
行   编号:1524


错误号码:1054
未知栏目   '字段列表'中的'数组'
更新json_data SET woid =数组   WHERE v ='2254271'
文件名:models / model.php
Line   编号:39

3 个答案:

答案 0 :(得分:1)

您正在尝试解析查询中的数组。

你可以在插入之前对数组进行json_encode。

$this->admin_model->UpdateData('weather', array('json_data' => json_encode($val->json_data)), array('woid' => $val->woid));

答案 1 :(得分:0)

$val->json_data是一个数组,在插入数据库之前,必须将其更改为json_encode( $val->json_data)字符串。

答案 2 :(得分:0)

它不起作用,因为你试图在MySQl查询中使用PHP Array(),它不允许你需要使用json_encode()方法来保存数据。

你可以像那样更新 -

$json_data = json_encode($val->json_data);

$this->admin_model->UpdateData('weather', array('json_data' => $json_data), array('woid' => $val->woid));