Это мой первый пост здесь. Я разработчик Android, и мой сервер всегда находится в php. Я использую PHP + codeigniter + MySQL, основанный на архитектуре, для выполнения некоторых основных операций с базой данных, таких как вставка, чтение, обновление. Чтобы проверить работу скриптов, я запускаю URL-адрес скрипта с соответствующими параметрами в браузере, но проблема заключается в том, что функция вставки не работает
URL для запуска для вставки www. [Xxxxxx].com/[xxxx]/device/checkdevice/test/test/test
device.php
function checkdevice($did=false)
{
if($_POST){
$did = $_REQUEST['did'];
$name = $_REQUEST['name'];
$number = $_REQUEST['number'];
$res = $this->device_model->insertid($did, $name, $number);
return;
}
}
device_model.php
function insertid($id=false,$name=false,$number=false)
{
$res = $this->db->get_where('tbl_device', array('clm_device_id'=>$id,'clm_device_name'=>$name,'clm_device_number'=>$number))->num_rows;
if($res==0){
$date = date("Y-m-d");
$this->db->insert('tbl_device', array('clm_registered'=>$date, 'clm_device_id'=>$id,'clm_device_name'=>$name,'clm_device_number'=>$number));
}
return;
}
database.php//мое подключение к базе данных работает нормально
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'xxxxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'xxxx';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE; //Tried making FALSE but doesnt work
$db['default']['db_debug'] = TRUE; //Tried making FALSE but doesnt work
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Попробуйте загрузить вашу модель и получить данные строки запроса прямо в параметре функции и сделать эхо, чтобы проверить, что вы получаете после возврата.
device.php
function checkdevice($did='', $name='', $number='') {
echo $did;
echo $name;
echo $number;
// if you get values remove post variable and pass these else try with post vars
// $did = $this->input->post('did');
//$name = $this->input->post('name');
//$number = $this->input->post('number');
$this->load->model('device_model');
$res = $this->device_model->insertid($did, $name, $number);
if($res) {
echo 'success';
}
else {
echo 'fail';
}
}
device_model.php
function insertid($id=false,$name=false,$number=false) {
$this->db->select('*');
$this->db->where(array('clm_device_id'=>$id,'clm_device_name'=>$name,'clm_device_number'=>$number));
$query = $this->db->get('tbl_device');
if($query->num_rows > 0){
$date = date("Y-m-d");
$this->db->insert('tbl_device', array('clm_registered'=>$date, 'clm_device_id'=>$id,'clm_device_name'=>$name,'clm_device_number'=>$number));
return $this->db->insert_id();
}
else{
return false ;
}
}