【发布时间】:2018-11-18 00:30:36
【问题描述】:
之前我发布了一个类似的问题,关于使用 PHP 将 JSON 数据传递到下拉菜单。 How can i arrange data array from API request into HTML SELECT OPTION LIST?
现在我想将 JSON 数据插入 MySQL 数据库
以下是我的 api_redcap.php 代码,用于从其他 Web 服务器调用数据:
<?php
$data = array(
'token' => '4B0D42AB9D061C0FADD724D2E908349D',
'content' => 'report',
'format' => 'json',
'report_id' => '71',
'rawOrLabel' => 'label',
'rawOrLabelHeaders' => 'label',
'exportCheckboxLabel' => 'false',
'returnFormat' => 'json');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://redcap-virtualbox/redcap/api/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
$output = curl_exec($ch);
$json = json_decode($output);
?>
下面是我的 api_redcap.php 输出:
[{"project_code":"16001","dept":"骨科(ORTHO)","group":"","name":"Jameson Lua Yao Chung"},{"project_code":" 16002","dept":"风湿病过敏和免疫学 (RAI)","group":"","name":"Koh Ee Tzun"},{"project_code":"16003","dept":"骨科外科 (ORTHO)","group":"","name":"Ang Wei Luong"},{"project_code":"16004","dept":"风湿病过敏和免疫学 (RAI)","group" :"","name":"林欣荣"},{"project_code":"16005","dept":"理疗(PT)","group":"","name":"李坤曼"}]
我的表在MySQL数据库中名为PROJECT_CODE,属性如下:
表名称 - PROJECT_CODE 字段名称: 项目代码, 部, 请求者,
我想将 JSON 中的 project_code、dept 和 name 变量分别插入 MySQL 表字段。请帮忙。谢谢
【问题讨论】:
-
变量 $json 应该是一个数组,您可以像访问任何其他数组对象一样访问它。您只需要在获取值后执行 MyQSL INSERT。如果要查看数组的结构,请在
json_decode语句之后使用echo "<p>json array:<pre>".print_r($json,true)."</pre></p>\n";。 -
@SloanThrasher 谢谢,但你能告诉我一个关于 MySQL 插入 json 的示例代码吗?使用 foreach?
标签: javascript php html mysql json