У меня проблема с вставкой данных в MySQL, для которых требуется метод POST с помощью почтальона.
эта функция data_post() вставляет данные из базы данных, но когда я пытаюсь вставить необработанные данные с помощью почтальона
{"id":"2","name":"ropen","password":"pamela005"}
У меня ошибка почтальона:
405 Method not Allowed
Это мой контроллерUsers.php
public function data_post(){
$params = [
'id' => 1,
'name' => 'John Doe',
'password' => 'test'
];
$resp = $this->user_model->data($params);
$this->set_response($resp, REST_Controller::HTTP_CREATED);
}
МодельUser_model.php
public function data($data){
$this->db->insert('user',$data);
}






Надеюсь, что это поможет вам :
Вы должны сначала получить данные post с помощью $this->post(), должно быть так:
Примечание: если ваш столбец id с автоинкрементом, нет необходимости добавлять идентификатор в $params
public function data_post()
{
$id = $this->post('id');
$name = $this->post('name');
$password = $this->post('password');
$params = array('id' => $id,'name' => $name,'password' => $password);
$resp = $this->user_model->data($params);
$this->set_response($resp, REST_Controller::HTTP_CREATED);
}
Подробнее: https://github.com/chriskacerguis/codeigniter-restserver#handling-requests
Вы используете почтальона для обновления данных, если да, просто получите данные с помощью $this->post() , а затем обновите их
У меня проблемы с методом обновления и удаления, я не знаю почему, он возвращает данные были удалены или обновлены, но когда я смотрю в свою базу данных, ничего не происходит
общедоступная функция update_users ($ id, $ data) {$ this-> db-> where ('id', $ id) -> update ('user', $ data); return array ('status' => 200, 'message' => 'Данные были обновлены.'); } общедоступная функция delete_users ($ id) {$ this-> db-> where ('id', $ id) -> delete ('user'); return array ('status' => 200, 'message' => 'Данные были удалены.'); }
на данный момент да, я использую почтальона. После того, как этот код заработает, я собираюсь использовать android и .net C# позже
какое имя и идентификатор столбца вы отправляете с почтовым запросом?
имя и пароль
сделайте почтовый запрос, и ваш метод удаления должен быть таким: public function delete_post() { $id = $this->post('id'); $this->db->where('id',$id)->delete('user'); return array('status' => 200,'message' => 'Data has been deleted.'); }
работает спасибо. но почему метод _delete () не работает?
извините, у меня только 13 репутации, я проголосую за это позже, если у меня будет 15+ репутации
обновляйте и удаляйте таким же образом, просто попробуйте, если у вас возникнут какие-либо проблемы, задайте новый вопрос