【发布时间】:2016-06-24 18:08:56
【问题描述】:
我正在尝试使用提交的表单插入数据。数据在数据库中正确输入,但我也在为移动设备做 API。如果收到is_api 参数,我正在做jsone_encode。以下是代码:
控制器:
public function send_request(){
if($this->input->post('submit')){
$user_data['data'] = array(
'user_id' => 1,
'sender_name' => $this->input->post('sender_name'),
'sender_location' => $this->input->post('sender_location'),
'sender_mobile' => $this->input->post('sender_mobile'),
'receiver_name' => $this->input->post('reciever_name'),
'receiver_location' => $this->input->post('reciver_location'),
'receiver_mobile' => $this->input->post('reciver_location'),
'request_type' => $this->input->post('request_type'),
'is_urget' => 0,
);
}
$result = $this->user_model->send_request($user_data);
if($result){
$this->result_set['message'] = 'Data entered ';
$this->result_set['status']= 1;
}
if( $this->input->post('is_api') == 1){
echo json_encode($this->result_set);
die();
}
}
型号:
public function send_request($data){
$this->db->insert('parcel_requests',$data['data']);
return true;
}
当我检查 hurl.it 的 API 时,我收到此错误和响应:
发生数据库错误
您必须使用“set”方法来更新条目。
文件名:/home/foldername/public_html/parcel/models/user_model.php
行号:21
这是第 21 行:
$this->db->insert('parcel_requests',$data['data']);
现在数据已正确输入,但未转换为 json。我需要你的帮助来解决这个问题,谢谢!
【问题讨论】:
-
您是否尝试仅将 $data 数组而不是 $data['data'] 传递给插入函数?
-
用
$sql = $this->db->set($data['data'])->get_compiled_insert('parcel_requests'); echo $sql;检查你的查询字符串
标签: php mysql codeigniter api