从API获取数据并将数据插入SQL时出错

时间:2017-08-15 02:51:50

标签: php mysql sql-server json codeigniter

我在这里问一个关于我的小问题的解决方案。我想将数据从API插入到SQL。但是在插入数据时会出现错误1064,表示SQL语法存在错误。

我检查它,我发现它有一个包含撇号的数据,如'34814361', 'YUNIASTI DEBORA LAURENS '/bp ',

由于我无法编辑数据(因为我从API中获取),所以我不能使用双撇号

这是我的代码

function grab_data(){
    ini_set('max_execution_time', 3000); //3000 seconds = 50 minutes
    $datenow = date("d/m/Y");

    //initiaize
    $ch = curl_init();
    //set the url
    $url = 'https://starclick.telkom.co.id/backend/public/api/tracking?_dc=1491402261173&ScNoss=true&SearchText=NTT&Field=ORG&Fieldstatus=&Fieldwitel=&StartDate=&EndDate='.$datenow.'&page=1&start=0&limit=10000';
    // Disable SSL verification
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // Will return the response, if false it print the response
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // Set the url
    curl_setopt($ch, CURLOPT_URL,$url);
    // Execute
    $result=curl_exec($ch);
    // Closing
    curl_close($ch);


    // Will dump a beauty json :3
    $data = json_decode($result, true);
    echo count($data['data']);

    for ($i = 0; $i < count($data['data']); $i++) {
        $var_order_id = $data['data'][$i]['ORDER_ID'];
        $var_order_date = $data['data'][$i]['ORDER_DATE'];
        $var_order_status = $data['data'][$i]['ORDER_STATUS'];
        $var_order_date_ps = $data['data'][$i]['ORDER_DATE_PS'];
        $var_extern_order_id = $data['data'][$i]['EXTERN_ORDER_ID'];
        $var_ncli = $data['data'][$i]['NCLI'];
        $var_customer_name = $data['data'][$i]['CUSTOMER_NAME'];
        $var_ins_address = $data['data'][$i]['INS_ADDRESS'];
        $var_city_name = $data['data'][$i]['CITY_NAME'];
        $var_speedy = $data['data'][$i]['SPEEDY'];
        $var_pots = $data['data'][$i]['POTS'];
        $var_witel = $data['data'][$i]['WITEL'];
        //$var_package_id = $data['data'][$i]['PACKAGE_ID'];
        $var_agent_id = $data['data'][$i]['AGENT_ID'];
        $var_gps_latitude = $data['data'][$i]['GPS_LATITUDE'];
        $var_gps_longitude = $data['data'][$i]['GPS_LONGITUDE'];
        $var_package_name = $data['data'][$i]['PACKAGE_NAME'];
        $var_customer_addr = $data['data'][$i]['CUSTOMER_ADDR'];
        $var_jenispsb = $data['data'][$i]['JENISPSB'];
        $var_source = $data['data'][$i]['SOURCE'];
        $var_extern_order_status = $data['data'][$i]['EXTERN_ORDER_STATUS'];
        $var_phone_no = $data['data'][$i]['PHONE_NO'];
        $var_loc_id = $data['data'][$i]['LOC_ID'];
        $var_xs2 = $data['data'][$i]['XS2'];
        $var_contact_hp = $data['data'][$i]['CONTACT_HP'];
        $var_contact_email = $data['data'][$i]['CONTACT_EMAIL'];
        $var_odp_id = $data['data'][$i]['ODP_ID'];
        $var_tn_number = $data['data'][$i]['TN_NUMBER'];
        $var_reserve_tn = $data['data'][$i]['RESERVE_TN'];
        $var_reserve_port = $data['data'][$i]['RESERVE_PORT'];
        $var_kodefikasi_sc = $data['data'][$i]['KODEFIKASI_SC'];
        $var_status_resume = $data['data'][$i]['STATUS_RESUME'];
        $var_status_code_sc = $data['data'][$i]['STATUS_CODE_SC'];
        $var_open_draft = $data['data'][$i]['OPEN_DRAFT'];
        $var_kcontact = $data['data'][$i]['KCONTACT'];
        $var_no_hp = $data['data'][$i]['NO_HP'];
        $var_email = $data['data'][$i]['EMAIL'];
        $var_username = $data['data'][$i]['USERNAME'];
        $var_rnum = $data['data'][$i]['RNUM'];

        //insert into mysql table
        $sql = "INSERT INTO `tabelscntt`(
                    `order_id`, 
                    `order_date`, 
                    `order_status`, 
                    `order_date_ps`, 
                    `extern_order_id`, 
                    `ncli`, 
                    `customer_name`, 
                    `ins_address`, 
                    `city_name`, 
                    `speedy`, 
                    `pots`, 
                    `witel`, 
                    /*`package_id`, */
                    `agent_id`, 
                    `gps_latitude`, 
                    `gps_longitude`, 
                    `package_name`, 
                    `customer_addr`, 
                    `jenispsb`, 
                    `source`, 
                    `extern_order_status`, 
                    `phone_no`, 
                    `loc_id`, 
                    `xs2`, 
                    `contact_hp`, 
                    `contact_email`, 
                    `odp_id`, 
                    `tn_number`, 
                    `reserve_tn`, 
                    `reserve_port`, 
                    `kodefikasi_sc`, 
                    `status_resume`, 
                    `status_code_sc`, 
                    `open_draft`, 
                    `kcontact`, 
                    `no_hp`, 
                    `email`, 
                    `username`, 
                    `rnum` 
                    )VALUES(
                    '".$var_order_id."', 
                    '".$var_order_date."', 
                    '".$var_order_status."', 
                    '".$var_order_date_ps."', 
                    '".$var_extern_order_id."', 
                    '".$var_ncli."', 
                    '".$var_customer_name."', 
                    '".$var_ins_address."', 
                    '".$var_city_name."', 
                    '".$var_speedy."', 
                    '".$var_pots."', 
                    '".$var_witel."', 
                    '".$var_agent_id."', 
                    '".$var_gps_latitude."', 
                    '".$var_gps_longitude."', 
                    '".$var_package_name."', 
                    '".$var_customer_addr."', 
                    '".$var_jenispsb."', 
                    '".$var_source."', 
                    '".$var_extern_order_status."', 
                    '".$var_phone_no."', 
                    '".$var_loc_id."', 
                    '".$var_xs2."', 
                    '".$var_contact_hp."', 
                    '".$var_contact_email."', 
                    '".$var_odp_id."', 
                    '".$var_tn_number."', 
                    '".$var_reserve_tn."', 
                    '".$var_reserve_port."', 
                    '".$var_kodefikasi_sc."', 
                    '".$var_status_resume."', 
                    '".$var_status_code_sc."', 
                    '".$var_open_draft."', 
                    '".$var_kcontact."', 
                    '".$var_no_hp."', 
                    '".$var_email."', 
                    '".$var_username."', 
                    '".$var_rnum."' 
                    )";

        $this->db->query($sql); 


    }
}

我该如何解决这个案子?任何的想法?不管怎样,谢谢

0 个答案:

没有答案