Php Codeigniter-即使在页面加载或刷新时,也会将空白行插入mysql
我试图在codeigniter中将一些表单数据插入mysql表。我的问题是,在插入实际数据之前,会在表中插入一个空行。然后我发现,即使在页面加载或刷新时,一个空行也会被插入到mysql中 这是我的密码: 控制器:Php Codeigniter-即使在页面加载或刷新时,也会将空白行插入mysql,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图在codeigniter中将一些表单数据插入mysql表。我的问题是,在插入实际数据之前,会在表中插入一个空行。然后我发现,即使在页面加载或刷新时,一个空行也会被插入到mysql中 这是我的密码: 控制器: class Amc extends MX_Controller { function __construct() { parent::__construct(); // check if user logged in if (!$this->ion_a
class Amc extends MX_Controller {
function __construct()
{
parent::__construct();
// check if user logged in
if (!$this->ion_auth->logged_in())
{
redirect('module=auth&view=login');
}
$this->load->library('form_validation');
$this->load->model('amc_model');
}
function addamc()
{
$data = array('cust_id' => $this->input->post('customer_id'),
'cust_name' => $this->input->post('cname'),
'cust_address' => $this->input->post('addr'),
'contact_person' => $this->input->post('contact_prsn'),
'location' => $this->input->post('loc'),
'email' => $this->input->post('email'),
'prs' => $this->input->post('prs'),
'rating' => $this->input->post('rating'),
'hrs' => $this->input->post('hrs'),
'engine_num' => $this->input->post('engine'),
'model' => $this->input->post('model'),
'amc_from' => $this->input->post('amcfrom'),
'amc_to' => $this->input->post('amcto'),
'expiry_date' => $this->input->post('expd'),
'no_visit_agreed' => $this->input->post('visagree'),
'no_visit_made' => $this->input->post('vismade'),
'date_commence' => $this->input->post('doc'),
'last_oil_ser_date' => $this->input->post('losd'),
'last_visit_date' => $this->input->post('lvd'),
'visit_due' => $this->input->post('visitdue'),
'visit_status' => $this->input->post('visitstatus'),
'svc_status' => $this->input->post('svcstatus'),
'amc_status' => $this->input->post('amcstat'),
'actual_amt' => $this->input->post('actualamt'),
'amt_recieved' => $this->input->post('amtrecieved'),
'amt_due' => $this->input->post('amountdue'),
'payment_method' => $this->input->post('paymentmethod'),
'payment_due_date' => $this->input->post('paymentdue'),
'assigned_to' => 'not assigned'
);
$this->amc_model->addamc($data);
if ( $this->form_validation->run() == true &&$this->amc_model->addamc($data) )
{
$this->session->set_flashdata('success_message', $this->lang->line('amc_added'));
redirect("module=amc", 'refresh');
}
}
型号:
class Amc_model extends CI_Model
{
public function __construct()
{
parent::__construct();
}
public function addamc($data = array())
{
$amcData = array(
'cust_id' => $data['cust_id'],
'cust_name' => $data['cust_name'],
'cust_address' => $data['cust_address'],
'contact_person' => $data['contact_person'],
'location' => $data['location'],
'email' => $data['email'],
'prs' => $data['prs'],
'rating' => $data['rating'],
'hrs' => $data['hrs'],
'engine_num' => $data['engine_num'],
'model' => $data['model'],
'amc_from' => $data['amc_from'],
'amc_to' => $data['amc_to'],
'expiry_date' => $data['expiry_date'],
'no_visit_agreed' => $data['no_visit_agreed'],
'no_visit_made' => $data['no_visit_made'],
'date_commence' => $data['date_commence'],
'last_oil_ser_date' => $data['last_oil_ser_date'],
'last_visit_date' => $data['last_visit_date'],
'visit_due' => $data['visit_due'],
'visit_status' => $data['visit_status'],
'svc_status' => $data['svc_status'],
'amc_status' => $data['amc_status'],
'actual_amt' => $data['actual_amt'],
'amt_recieved' => $data['amt_recieved'],
'amt_due' => $data['amt_due'],
'payment_method' => $data['payment_method'],
'payment_due_date' => $data['payment_due_date'],
'assigned_to' => $data['assigned_to']
);
if($this->db->insert('amc_details', $amcData)) {
return true;
} else {
return false;
}
}
}
视图:
客户ID
名称
地址
位置
电子邮件ID
联系人
发动机号
模型
PRS
评级
高分辨率分光计
到期日
资产管理公司
资产管理公司
开工日期
同意参观人数
访问次数
上次机油保养日期
最后访问日期
每星期一次
SVC状态
访问状态
AMC状态
实际金额
收到的金额
应付金额
付款方式
付款到期日
在控制器中,仅当验证为真时,才应调用插入代码
$this->amc_model->addamc($data);
应在控制器函数addamc()中进行更改。最后的代码是
function addamc()
{
$data = array('cust_id' => $this->input->post('customer_id'),
'cust_name' => $this->input->post('cname'),
'cust_address' => $this->input->post('addr'),
'contact_person' => $this->input->post('contact_prsn'),
'location' => $this->input->post('loc'),
'email' => $this->input->post('email'),
'prs' => $this->input->post('prs'),
'rating' => $this->input->post('rating'),
'hrs' => $this->input->post('hrs'),
'engine_num' => $this->input->post('engine'),
'model' => $this->input->post('model'),
'amc_from' => $this->input->post('amcfrom'),
'amc_to' => $this->input->post('amcto'),
'expiry_date' => $this->input->post('expd'),
'no_visit_agreed' => $this->input->post('visagree'),
'no_visit_made' => $this->input->post('vismade'),
'date_commence' => $this->input->post('doc'),
'last_oil_ser_date' => $this->input->post('losd'),
'last_visit_date' => $this->input->post('lvd'),
'visit_due' => $this->input->post('visitdue'),
'visit_status' => $this->input->post('visitstatus'),
'svc_status' => $this->input->post('svcstatus'),
'amc_status' => $this->input->post('amcstat'),
'actual_amt' => $this->input->post('actualamt'),
'amt_recieved' => $this->input->post('amtrecieved'),
'amt_due' => $this->input->post('amountdue'),
'payment_method' => $this->input->post('paymentmethod'),
'payment_due_date' => $this->input->post('paymentdue'),
'assigned_to' => 'not assigned'
);
if ( $this->form_validation->run() == true)
{
$result = $this->amc_model->addamc($data);
if($result == true) {
$this->session->set_flashdata('success_message', $this->lang->line('amc_added'));
redirect("module=amc", 'refresh');
} else {
//insertion failed
}
}
}
只有验证为真时才能执行插入语句。在控制器中,只有验证为真时才能调用插入代码
$this->amc_model->addamc($data);
应在控制器函数addamc()中进行更改。最后的代码是
function addamc()
{
$data = array('cust_id' => $this->input->post('customer_id'),
'cust_name' => $this->input->post('cname'),
'cust_address' => $this->input->post('addr'),
'contact_person' => $this->input->post('contact_prsn'),
'location' => $this->input->post('loc'),
'email' => $this->input->post('email'),
'prs' => $this->input->post('prs'),
'rating' => $this->input->post('rating'),
'hrs' => $this->input->post('hrs'),
'engine_num' => $this->input->post('engine'),
'model' => $this->input->post('model'),
'amc_from' => $this->input->post('amcfrom'),
'amc_to' => $this->input->post('amcto'),
'expiry_date' => $this->input->post('expd'),
'no_visit_agreed' => $this->input->post('visagree'),
'no_visit_made' => $this->input->post('vismade'),
'date_commence' => $this->input->post('doc'),
'last_oil_ser_date' => $this->input->post('losd'),
'last_visit_date' => $this->input->post('lvd'),
'visit_due' => $this->input->post('visitdue'),
'visit_status' => $this->input->post('visitstatus'),
'svc_status' => $this->input->post('svcstatus'),
'amc_status' => $this->input->post('amcstat'),
'actual_amt' => $this->input->post('actualamt'),
'amt_recieved' => $this->input->post('amtrecieved'),
'amt_due' => $this->input->post('amountdue'),
'payment_method' => $this->input->post('paymentmethod'),
'payment_due_date' => $this->input->post('paymentdue'),
'assigned_to' => 'not assigned'
);
if ( $this->form_validation->run() == true)
{
$result = $this->amc_model->addamc($data);
if($result == true) {
$this->session->set_flashdata('success_message', $this->lang->line('amc_added'));
redirect("module=amc", 'refresh');
} else {
//insertion failed
}
}
}
只有在验证为真时,才能执行插入语句。我已经按照您所说的做了,现在页面加载或刷新插入没有发生。但即使我提交表单数据,也不会插入数据。尝试将“form_open”格式更改为form_open('amc/addamc',$attrib);尝试更改代码回送表单_open(“module=amc&;view=addamc”,$attrib);鉴于echo form_open('amc/addamc',$attrib);另外,请检查验证是否工作正常。我已经按照您所说的做了,现在页面加载或刷新插入没有发生。但即使我提交表单数据,也不会插入数据。尝试将“form_open”格式更改为form_open('amc/addamc',$attrib);尝试更改代码回送表单_open(“module=amc&;view=addamc”,$attrib);鉴于echo form_open('amc/addamc',$attrib);另外,请检查验证是否有效。