错误: (POST http://localhost/codeigniter/Purchase/transaction/update?id=7 500(内部服务器错误)
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ''supp_id2` =
s.`supp_id` WHERE p.purch_id =' at line 1
SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as s ON
p.'supp_id2` = s.`supp_id` WHERE p.purch_id =
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 691
这是我的代码的控制器,这是交易所在的位置
function transaction($txn = null) {
switch ($txn) {
case 'list':
$response['data']=$this->Purchase_model->get_all_purchase();
echo json_encode($response);
break;
case 'create':
$purchase =
array(
'po_number' => $this->input->post('po_number'),
'date' => $this->input->post('date'),
'supp_id2' => $this->input->post('supp_id2'),
'contact_person' => $this->input->post('contact_person'),
'delivered_to' => $this->input->post('delivered_to'),
'plu_number' => $this->input->post('plu_number'),
'address' => $this->input->post('address'),
'remarks' => $this->input->post('remarks'),
);
$insert = $this->Purchase_model->purchase_add($purchase);
$resp['row_added'] = $this->Purchase_model->get_purchase($insert);
$resp['title'] = 'Success!';
$resp['stat'] = 'success';
$resp['msg'] = 'Purchase Information successfully created.';
echo json_encode($resp);
break;
case 'update':
$data =
array(
'po_number' => $this->input->post('po_number'),
'date' => $this->input->post('date'),
'supp_id2' => $this->input->post('supp_id2'),
'contact_person' => $this->input->post('contact_person'),
'delivered_to' => $this->input->post('delivered_to'),
'address' => $this->input->post('address'),
'plu_number' => $this->input->post('plu_number'),
'remarks' => $this->input->post('remarks'),
);
这是我创建的购买模式
public function get_purchase($purch_id)
{
$db = "SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as
s ON p.'supp_id2` = s.`supp_id` WHERE p.purch_id = $purch_id ";
return $this->db->query($db)->result();-
$this->db->from($this->table);
$this->db->where('purch_id',$id);
$query = $this->db->get();
return $query->row();
}
如果您需要查看其他详细信息,请询问我可以将其发送到评论部分或编辑此帖子,如何解决此问题?
更新
我更改了'supp_id2 to
supp_id2`并显示了一个新的但我认为同样的错误:
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '' at line 1
SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as s ON
p.`supp_id2` = s.`supp_id` WHERE p.purch_id =
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 691
答案 0 :(得分:0)
语法是wron:
$db = "SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as
s ON p.'supp_id2` = s.`supp_id` WHERE p.purch_id = $purch_id ";
复制此选择
$db = "SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as
s ON p.`supp_id2` = s.`supp_id` WHERE p.purch_id = $purch_id ";
答案 1 :(得分:0)
正如您在错误中看到的那样
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ''supp_id2` =
s.`supp_id` WHERE p.purch_id =' at line 1
SELECT p.*, s.supp_name FROM purchase as p LEFT JOIN supplier as s ON
p.'supp_id2` = s.`supp_id` WHERE p.purch_id =
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 691
购买ID未传递给查询。