我正在运行从网站获取订单并将其插入数据库的脚本,它工作正常,但每次脚本运行时我都会收到此错误-
ERROR - Severity: Warning --> preg_match() expects parameter 2 to be string, object given C:\xampp\htdocs\system\database\drivers\mysqli\mysqli_driver.php 202
ERROR - Severity: Warning --> mysqli_query() expects parameter 2 to be string, object given C:\xampp\htdocs\system\database\drivers\mysqli\mysqli_driver.php 179
ERROR - Severity: Warning --> preg_match() expects parameter 2 to be string, object given C:\xampp\htdocs\system\database\DB_driver.php 622
ERROR - Severity: Warning --> mysqli_num_rows() expects parameter 1 to be mysqli_result, null given C:\xampp\htdocs\system\database\drivers\mysqli\mysqli_result.php 37
这是我的代码
public function insert_orders($data_orders) {
foreach($data_orders as $key=>$value){
$order_id=trim($value['order_id']);
$amount_paid=trim($value['amount_paid']);
$query = $this->db->query("SELECT * FROM orders WHERE order_id='".$order_id."' AND amount_paid LIKE '".$amount_paid."'");
if ($query->num_rows > 0) {
unset($data_orders[$key]);
}
}
if(count($data_orders)==0) return;
$this->db->insert_batch('orders', $data_orders);
}
我看不出这有什么问题,但你能检查一下并让我知道我在哪里犯了错误吗?
我正在使用 codeigniter。
数据库设置-
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
最佳答案
将 num_rows
更改为 num_rows()
像这样
if ($query->num_rows() > 0)
关于php - 警告 preg_match()、mysqli_query() 在 xampp 上的 codeigniter 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109978/