douqi3064 2018-06-08 01:50
浏览 174
已采纳

将API请求中的JSON数据插入MySQL数据库

Previously I have posted a similar question on passing JSON data to drop down menu using PHP. How can i arrange data array from API request into HTML SELECT OPTION LIST?

Right now I would like to INSERT the JSON datat in to MySQL database

Below is my api_redcap.php code for calling the data from other web server:

<?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);    
?>

Below is my output from api_redcap.php.:

[{"project_code":"16001","dept":"Orthopaedic Surgery (ORTHO)","group":"","name":"Jameson Lua Yao Chung"},{"project_code":"16002","dept":"Rheumatology Allergy & Immunology (RAI)","group":"","name":"Koh Ee Tzun"},{"project_code":"16003","dept":"Orthopaedic Surgery (ORTHO)","group":"","name":"Ang Wei Luong"},{"project_code":"16004","dept":"Rheumatology Allergy & Immunology (RAI)","group":"","name":"Lim Xin Rong"},{"project_code":"16005","dept":"Physiotherapy (PT)","group":"","name":"Li Kun Man"}]

My table name is called PROJECT_CODE in MySQL database and the attributes are as follow:

Table Name - PROJECT_CODE Field Name: PROJECT_code, DEPARTMENT, REQUESTOR,

I would like to insert the project_code, dept and name variables from JSON into the MySQL table fields respectively. Please help. Thanks

  • 写回答

1条回答 默认 最新

  • dpfz27768 2018-06-08 02:50
    关注
    $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);";
        */
    
    }
    

    Also, you can insert multiple record in single loop Please check below reference link https://www.w3schools.com/php/php_mysql_insert_multiple.asp

    In reference link 3 different methods given,so, you can use any one whatever suitable for you

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘