无法通过 REST API 插入数据



我尝试在codeigniter中使用rest api插入数据。

我试试这个

public function sensor_post(){
$data = array(
'sensor_id'   => $this->input->post('sensor_id'),
'value'       => $this->input->post('value'));
$insert = $this->db->insert('measurement', $data);
if ($insert) {
$this->response($data, 200);
} else {
$this->response(array('status' => 'fail', 502));
}
}

然后打电话http://localhost/rest_iot/index.php/iot/sensor?sensor_id=1&值=37

我在post-man中尝试了这个,但我得到了这样的错误。我想我已经填补了价值,为什么会发生这种事?

<h1>A Database Error Occurred</h1>
<p>Error Number: 1048</p>
<p>Column 'sensor_id' cannot be null</p>
<p>INSERT INTO `measurement` (`sensor_id`, `value`) VALUES (NULL, NULL)</p>
<p>Filename: C:/xampp/htdocs/rest_iot/system/database/DB_driver.php</p>
<p>Line Number: 691</p>

如果在URL中发送数据,则通过GET发送。但是,您的代码正在尝试接收通过POST发送的数据。我认为在codeigniter中,您可以简单地编写如下代码,以接收GET:

'sensor_id'   => $this->input->get('sensor_id'),
'value'       => $this->input->get('value')

您是通过GET还是POST发送数据?假设$this->post('sensor_id')您正在寻找POST,但通过GETsensor_id=1&value=37发送。

通过POST方法发送数据或。。。通过GET 检索

您的post字段中缺少输入。

public function sensor_post()
{
$data = array(
'sensor_id'   => $this->input->post('sensor_id'),
'value'       => $this->input->post('value')
);
$insert = $this->db->insert('measurement', $data);
if ($insert) {
$this->response($data, 200);
} else {
$this->response(array('status' => 'fail', 502));
}
}

这对你有用。

相关内容

  • 没有找到相关文章

最新更新