Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP MySQLi数据库类进行SQL查询_Php_Mysql_Php Mysqlidb - Fatal编程技术网

使用PHP MySQLi数据库类进行SQL查询

使用PHP MySQLi数据库类进行SQL查询,php,mysql,php-mysqlidb,Php,Mysql,Php Mysqlidb,我使用的是PHP MySQLi数据库类MysqliDb.PHP 我有这个疑问,但是Wamp说: 致命错误:准备查询时出现问题 SELECT car_id FROM gm_cars WHERE car_id NOT IN ( SELECT reserve_car_id FROM gm_reservations WHERE reserve_dropOff > ? AND reserve_dropOff = ? AND reserve_pickUp ) 年的联合税收协定1 C:

我使用的是PHP MySQLi数据库类MysqliDb.PHP

我有这个疑问,但是Wamp说:

致命错误:准备查询时出现问题

 SELECT car_id FROM gm_cars WHERE car_id NOT IN 
( 
  SELECT reserve_car_id FROM gm_reservations 
 WHERE reserve_dropOff > ? AND reserve_dropOff = ? AND reserve_pickUp ) 
年的联合税收协定1 C:\wamp\www\work\libs\PHP MySQLi数据库类master\MysqliDb.PHP,第823行

查询: 连接到数据库

>$carsBetweenDates = $db->rawQuery
('SELECT car_id FROM gm_cars WHERE car_id NOT IN 
   (SELECT reserve_car_id FROM gm_reservations 
     WHERE reserve_dropOff > ? AND reserve_dropOff <= ? 
     UNION 
     DISTINCT SELECT reserve_car_id FROM gm_reservations 
      WHERE reserve_pickUp >= ? AND reserve_pickUp < ?)', 
      Array('2014-12-20 20:00:00', '2014-12-22 20:00:00', 
      '2014-12-20 20:00:00', '2014-12-22 20:00:00'));

我看不出有什么错误。非常感谢。对不起,我说的是英语。

你能试着像这样调用函数吗:

$db->rawQuery('QUERY', array(), FALSE);
我认为清理会破坏您的查询,它可能会删除html字符,在您的情况下是<>条件

假设这是一个类:
尝试更改查询以简化查询。首先,将两个表合并为一个表,然后反转条件以部分删除NOT IN

SELECT gm_cars.car_id 
FROM gm_cars LEFT JOIN gm_reservations
ON gm_cars.car_id = gm_reservations.reserve_car_id
WHERE (reserve_dropOff <= ? OR reserve_dropOff > ?)
    AND (reserve_pickUp < ? OR reserve_pickUp >= ?)
    AND gm_cars.car_id NOT IN Array('...')
GROUP BY gm_cars.car_id
举个例子

$db->rawQuery("SELECT * FROM print_orders WHERE print_guests.id = print_orders.id AND print_order_products.order_id = print_orders.id AND  print_orders.id = ? AND print_guests.email = ?  AND print_order_products.order_id = ? " , array($_POST['orden'], $_POST['email'], $_POST['orden']));
$db->rawQuery("SELECT * FROM print_orders WHERE print_guests.id = print_orders.id AND print_order_products.order_id = print_orders.id AND  print_orders.id = ? AND print_guests.email = ?  AND print_order_products.order_id = ? " , array($_POST['orden'], $_POST['email'], $_POST['orden']));