[英]Getting SQL error while inserting the data into database using MySQL and PHP
[英]getting an error while inserting php form data into mysql database using MVC
嗨,我下載了opencart版本1.5.2.1 ...現在我正在使用opencart flow開發API。我使用tpl,controller,language文件開發了表單。 我也寫了模型。確切的概念是當我輸入應加載到數據庫中的表單數據時...但是它顯示了一個錯誤,指出模型中的未定義索引。如何在控制器中獲取表單數據以及如何傳遞該數據模特...請幫助我。
這是我的控制器文件:
<?php
class ControllerSaleAd extends Controller {
private $error = array();
public function index() {
$this->load->language('sale/ad');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('sale/ad');
$this->data['heading_title']=$this->language->get('heading_title');
$this->data['entry_customer_name'] = $this->language->get('entry_customer_name');
$this->data['column_name']=$this->language->get('column_name');
$this->data['column_place'] = $this->language->get('column_place');
$this->data['column_date'] = $this->language->get('column_date');
$this->data['column_units'] = $this->language->get('column_units');
$this->data['column_price'] = $this->language->get('column_price');
$this->data['button_insert'] = $this->language->get('button_insert');
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('sale/ad', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => false
);
$url='';
$this->data['action'] = $this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL');
$this->template='sale/ad.tpl';
$this->children = array(
'common/header',
'common/footer'
);
$this->response->setOutput($this->render());
$this->insert();
/*$this->load->model('sale/ad');
$this->data['orders']= array();
$data=array(
'customer' => $customer,
'adtype' => $adtype,
'adplace' => $adplace,
'date' => $date,
'units' => $units,
'price' => $price,
);
$results = $this->model_sale_ad->insert($data);
$this->redirect($this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL'));*/
}
public function insert() {
echo("inserting data");
$this->load->model('sale/ad');
if (($this->request->server['REQUEST_METHOD'] == 'POST')) {
echo("hello");
echo($this->request->post);
echo($this->model_sale_ad->insert);
$this->model_sale_ad->insert($this->request->post);
echo("in if method");
/*$url = '';
if (isset($this->request->get['customer'])) {
$url .= '&customer=' . $this->request->get['customer'];
}
if (isset($this->request->get['adtype'])) {
$url .= '&adtype=' . $this->request->get['adtype'];
}
if (isset($this->request->get['adplace'])) {
$url .= '&adplace=' . $this->request->get['adplace'];
}
if (isset($this->request->get['date'])) {
$url .= '&date=' . $this->request->get['date'];
}
if (isset($this->request->get['units'])) {
$url .= '&units=' . $this->request->get['units'];
}
if (isset($this->request->get['price'])) {
$url .= '&price=' . $this->request->get['price'];
}
$customer= $this->request->get[$entry_customer_name];
echo($customer);
$data=array(
'customer' => $customer,
'adtype' => $adtype,
'adplace' => $adplace,
'date' => $date,
'units' => $units,
'price' => $price,
);
$results = $this->model_sale_ad->insert($data);*/
$this->redirect($this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}
}
}
?>
這是我的模型:
<?php
class ModelSaleAd extends Model{
public function insert($data)
{
$this->db->query("INSERT INTO " . DB_PREFIX . "ad SET customer = '"
.$this->db->escape($data['customer']) . "',adtype = '" .$this->db->escape($data['adtype']) . "',adplace = '" . $this->db->escape($data['adplace']) ."',date = NOW()'" . "',units = '".(int)$data['units'] ."',price = '".(int)$data['price']."')");
}
}
嘗試查看public function insert
中的$data['customer']
類型變量,例如var_dump($data)
。 可能很簡單,就是您從數組中丟失了一個變量,而在生成sql時就丟失了它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.