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 Tpad api账户 api口令
    • ¥30 ppt进度条制作,vba语言
    • ¥15 stc12c5a60s2单片机测光敏ADC
    • ¥15 生信simpleaffy包下载
    • ¥15 请教一下simulink中S函数相关问题
    • ¥15 在二层网络中,掩码存在包含关系即可通信
    • ¥15 端口转发器解析失败不知道电脑设置了啥
    • ¥15 Latex算法流程图行号自定义
    • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
    • ¥40 基于51单片机实现球赛计分器功能