【发布时间】:2017-02-18 19:27:52
【问题描述】:
运行此代码:
public function findBooking($start_date, $pitches, $nights, $people, $first_name, $last_name, $email){
$error = false;
$bookings = array();
$this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (!$this->db_connection->connect_errno) {
if((!$start_date == '') && (!$nights == '')){
$end_date = date('Y-m-d', strtotime($start_date. ' + ' . ($nights-1) . ' days'));
} else {
$end_date = '';
}
$find_booking_sql = "SELECT * FROM booking LEFT JOIN camper ON booking.camper_id = camper.camper_id
WHERE (start_date LIKE '%$start_date%')
AND (end_date LIKE '%$end_date%')
AND (pitches LIKE '%$pitches%')
AND (people LIKE '%$people%')
AND (first_name LIKE '%$first_name%')
AND (last_name LIKE '%$last_name%')
AND (email LIKE '%$email%')
ORDER BY start_date ASC";
$find_booking_result = $this->db_connection->query($find_booking_sql);
if ((!$find_booking_result->num_rows == 0)) {
// Not run
}
} else {
$error = 'No bookings found';
}
}
return array(
'bookings' => $bookings,
'error' => $this->db_connection->error,
'debug' => $find_booking_sql,
'result' => $find_booking_result
);
}
在 PHP 中运行时返回 current_field":null,"field_count":null,"lengths":null,"num_rows":null,"type":null,但如果我从 PHPMyAdmin 运行 SQL,它可以正常工作。
我检查了类似的问题,但解决方案不适用于此问题 - 我已尝试删除 's,但只有一个查询正在运行。
生成的 SQL 示例:
SELECT *
FROM booking
LEFT JOIN camper ON booking.camper_id = camper.camper_id
WHERE (start_date LIKE '%')
AND (end_date LIKE '%')
AND (pitches LIKE '%')
AND (people LIKE '%')
AND (first_name LIKE '%')
AND (last_name LIKE '%') AND (email LIKE '%')
ORDER BY start_date ASC`
【问题讨论】:
-
对于一个
email LIKE $email似乎不太可能在没有引号的情况下工作。尝试echo $find_booking_sql;并在 SQL 中运行输出。 -
显示你在 phpadmin 中使用的真实查询
-
用查询编辑并引用 $email 变量 - 我复制了旧版本的代码
-
也分享php代码,你是如何制作
$start_date,$end_date,等等...? -
这个查询有效??????
SELECT * FROM booking LEFT JOIN camper ON booking.camper_id = camper.camper_id WHERE (start_date LIKE '%') AND (end_date LIKE %) AND (pitches LIKE %) AND (people LIKE %) AND (first_name LIKE '%') AND (last_name LIKE '%') AND (email LIKE '%') ORDER BY start_date ASC
标签: php mysql phpmyadmin