遇到未捕获的异常
类型:错误
消息:调用bool上的成员函数num_rows()
文件名:C:\xampp\htdocs\sikan_v2\应用程序\视图\交易\销售\购物车数据. php
行号:2
回溯:
文件:C:\应用程序\视图\交易\销售\销售表单. php
生产线:134
功能:查看
文件:C:\应用程序\库\模板. php
生产线:14
功能:查看
文件:C:\xampp\htdocs\sikan_v2\应用程序\控制器\销售. php
生产线:26
功能:加载
文件:C:\文件夹
生产线:315
函数:需要一次
我的控制器:controllers/sale.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Sale extends CI_Controller {
function __construct()
{
parent::__construct();
check_not_login();
check_admin();
$this->load->model(['sale_m','item_m', 'supplier_m', 'stock_m']);
}
public function index()
{
$this->load->model(['customer_m', 'item_m']);
$customer = $this->customer_m->get()->result();
$item = $this->item_m->get()->result();
$cart = $this->sale_m->get_cart();
$data = array(
'customer' => $customer,
'item' => $item,
'cart' => $cart,
'invoice' => $this->sale_m->invoice_no(),
);
$this->template->load('template', 'transaction/sale/sale_form', $data);
}
public function process()
{
$data = $this->input->post(null, TRUE);
if(isset($_POST['add_cart'])) {
$this->sale_m->add_cart($data);
}
if($this->db->affected_rows() > 0) {
$params = array("success" => true);
} else {
$params = array("success" => false);
}
echo json_encode($params);
}
}
我的模特:models/sale_m.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Sale_m extends CI_Model {
public function invoice_no()
{
$sql = "SELECT MAX(MID(invoice,9,4)) AS invoice_no
FROM t_sale
WHERE MID(invoice,3,6) = DATE_FORMAT(CURDATE(), '%y%m%d')";
$query = $this->db->query($sql);
IF($query->num_rows() > 0) {
$row = $query->row();
$n = ((int)$row->invoice_no) + 1;
$no = sprintf("%'.04d", $n);
}else{
$no = "0001";
}
$invoice = "MP".date('ymd').$no;
return $invoice;
$query = $this->db->get();
return $query;
}
public function get_cart($params = null)
{
$this->db->select('*, p_item.name as item_name, t_cart.price as cart_price');
$this->db->from('cart');
$this->db->join('p_item', 't_cart.item_id = p_item.item_id');
if($params != null) {
$this->db->where($params);
}
$this->db->where('user_id', $this->session->userdata('userid'));
$query = $this->db->get();
return $query;
}
public function add_cart($post)
{
$query = $this->db->query("SELECT MAX(cart_id) AS cart_no FROM t_cart");
if($query->num_rows() > 0) {
$row = $query->row();
$car_no = ((int)$row->cart_no) + 1;
} else {
$car_no = "1";
}
$params = array(
'cart_id' => $car_no,
'item_id' => $post['item_id'],
'price' => $post['price'],
'qty' => $post['qty'],
'total' => ($post['price'] * $post['qty']),
'user_id' => $this->session->userdata('userid')
);
$this->db->insert('t_cart', $params);
}
}
我的观点:/交易/购物车_data. php
<?php $no = 1;
if($cart->num_rows() > 0) {
foreach ($cart->result() as $c =>$data) { ?>
<tr>
<td><?=$no++?>.</td>
<td><?=$data->barcode?></td>
<td><?=$data->item_name?></td>
<td class="text-right"><?=$data->cart_price?></td>
<td class="text-center"><?=$data->qty?></td>
<td class="text-right"><?=$data->discount_item?></td>
<td class="text-right"id="total"><?=$data->total?></td>
<td class="text-center" width="160px">
<button id="update_cart" data-toggle="modal" data-target="#modal-item-edit"
data-cartid="<?=$data->cart_id?>"
data-barcode="<?=$data->barcode?>"
data-product="<?=$data->item_name?>"
data-price="<?=$data->cart_price?>"
data-qty="<?=$data->qty?>"
data-discount="<?=$data->discount_item?>"
data-total="<?=$data->total?>"
class="btn btn-xs btn primary">
<i class="fa fa-pencil"></i> Update
</button>
<button id="del_cart" data-cartid="<?=$data->cart_id?>" class="btn btn-xs btn-danger">
<i class="fa fa-trash"></i> Delete
</button>
</td>
</tr>
<?php
}
} else {
echo '<tr>
<td colspan="8"> class="text-center">Tidak ada item</td>
</tr>';
} ?>
请帮我解决这个错误
1条答案
按热度按时间wkyowqbh1#
当你的查询出现错误时,它会返回bool,再次检查这个函数:
我想应该是:
如果再次检查没有发现错误,可以使用方法:last_query获取查询,然后尝试直接在phpmyadmin或MYSQL Workbench中查询,检查是否有错误。