3
我在PHP中編寫了一個報告方法,它通過了2個參數$location
和$weekYear
。 $weekYear
是格式化像2015-W34
一個字符串,即2015年的SQL代碼34rth星期我試圖運行的樣子:DATE_FORMAT()mysql代碼將在PHPMyAdmin中工作,但不在PHP中
$sql = "SELECT
CONCAT(tutor.first_name, ' ', tutor.last_name) AS Student,
CONCAT(tutor.first_name, ' ', tutor.last_name) AS Tutor,
hours as HoursWorked,
DATE_FORMAT(work_date, '%a - %b %d') AS Day,
DATE_FORMAT(start_time, '%H') AS Hour,
DATE_FORMAT(start_time, '%i') AS Minute
FROM timesheet_entry
LEFT
JOIN user
AS student
ON student.id = timesheet_entry.student_id
LEFT
JOIN user
AS tutor
ON tutor.id = timesheet_entry.tutor_id
WHERE DATE_FORMAT(work_date,'%x-W%v') = '".$weekYear."'
AND tutoring_location = '".$location."'
AND work_type = 'instruction'
AND (instruction_type = '1-on-1' OR instruction_type = 'group')";
$query = $this->db->query($sql);
當我在PHP運行代碼我沒有得到任何結果返回 但是當我回聲$ sql,然後將其粘貼到PhpMyAdmin我得到我期望的結果。
而且如果我刪除了部分
DATE_FORMAT(work_date,'%x-W%v') = '".$weekYear."'
的方法運行,並返回更多的記錄比我想要的,但它仍然運行。
那麼我的DATE_FORMAT()
是什麼導致此查詢故障?
任何幫助,意見和建議,非常感謝!
任何原因,你正在使用'DATE_FORMAT()'而不是'WEEKYEAR()'? – Barmar
您是否檢查了第一個查詢從您的php代碼運行的情況下的mysql錯誤? – Shadow
看不到一個明顯的原因。通常情況下,這是由於你沒有注意到的額外字符,比如空格。 – Barmar