Codeigniter:错误无法将CI_DB_mysqli_结果类型的对象用作数组
我目前有问题的Codigniter 这是我的密码Codeigniter:错误无法将CI_DB_mysqli_结果类型的对象用作数组,codeigniter,Codeigniter,我目前有问题的Codigniter 这是我的密码 public function move($data) { $sku = $data['sku']; $store = $data['store_id']; $sql = "SELECT * FROM products WHERE sku = ? AND store_id = ?"; $query = $this->db->query($sql, array($data['s
public function move($data)
{
$sku = $data['sku'];
$store = $data['store_id'];
$sql = "SELECT * FROM products WHERE sku = ? AND store_id = ?";
$query = $this->db->query($sql, array($data['sku'], $data['store_id']));
if($query->result_array() != "") {
$data['qty'] = $data['qty'] + $query['qty'] ; //Error here
$insert = $this->db->query('products', $data);
return ($insert == true) ? true : false;
}
else{
}
}
在我运行项目的地方,我得到了这个错误
Type: Error
Message: Cannot use object of type CI_DB_mysqli_result as array
Filename: C:\xampp\htdocs\index\stock\application\models\Model_products.php
我已经上网寻求解决办法,但我不能解决这个问题
有人能帮我吗?您可能使用了错误的变量。试试这个:
public function move($data)
{
$sku = $data['sku'];
$store = $data['store_id'];
$sql = "SELECT * FROM products WHERE sku = ? AND store_id = ?";
$query = $this->db->query($sql, array($data['sku'], $data['store_id']));
$result_array = $query->result_array();
if($result_array) {
$data['qty'] = $data['qty'] + $result_array['qty'] ; //Error here
$insert = $this->db->query('products', $data);
return ($insert == true) ? true : false;
}
else{
}
}
$query->result_array()将从数据库返回满足查询条件的行数组。如果只需要一行,则必须修改它
public function move($data)
{
$sku = $data['sku'];
$store = $data['store_id'];
$sql = "SELECT * FROM products WHERE sku = ? AND store_id = ?";
$query = $this->db->query($sql, array($data['sku'], $data['store_id']));
if($query->num_rows() > 0){
$row = $query->row(); // select only first row of the query result
$data['qty'] = $data['qty'] + $row['qty'] ;
$insert = $this->db->query('products', $data); // don't know what you are doing here
return ($insert == true) ? true : false;
}else{
}
}
使用
var\u dump($var)总是很有帮助的代码>或更好地使用调试器。变量$query不存储结果。