将来自api请求的json数据插入mysql数据库

xbp102n0  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(410)

之前,我发布了一个类似的问题,关于使用php将json数据传递到下拉菜单。如何将api请求中的数据数组排列到html选择选项列表中?
现在我想把json数据插入mysql数据库
下面是我从其他web服务器调用数据的api\u redcap.php代码:

<?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\u redcap.php中的输出:
[{“项目代码”:“16001”,“部门”:“矫形外科(ortho)”,“组”:“,”名称”:“jameson lua yao chung”},{“项目代码”:“16002”,“部门”:“风湿过敏与免疫学(rai)”,“组”:“,”名称“:”koh ee tzun“},{“项目代码”:“16003”,“部门”:“矫形外科(ortho)”,“组”:“,”名称“:”ang wei luong“},{“项目代码”:“16004”,“dept”:“风湿病过敏与免疫学(rai)”,“group”:“,”name”:“lim xin rong”},{“project\u code”:“16005”,“dept”:“理疗(pt)”,“group”:“,”name”:“li kun man”}]
我的表名是mysql数据库中的project\ u code,属性如下:
表名称-项目代码字段名称:项目代码、部门、请求者,
我想将json中的project\u code、dept和name变量分别插入mysql表字段。请帮忙。谢谢

6rqinv9w

6rqinv9w1#

$json = json_decode($output, true);
foreach($json as $val)
{
    $project_code = $val['project_code'];
    $dept = $val['dept'];
    $name = $val['name'];

    /*
    * Generate insert query as below
    * "INSERT INTO MyGuests (project_code, dept, name) VALUES ($project_code, $dept, $name);";
    */

}

此外,您可以在一个循环中插入多个记录请检查下面的参考链接https://www.w3schools.com/php/php_mysql_insert_multiple.asp
在参考链接中给出了3种不同的方法,因此,您可以使用任何一种适合您的方法

相关问题