我在PHP中编写一个报告方法,它传递了2个参数$location
和$weekYear
。 $weekYear
是一个格式为2015-W34
的字符串,即2015年的34周。我试图运行的sql代码如下:
$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()
导致此查询出现故障怎么办?
非常感谢任何帮助,建议和建议!
答案 0 :(得分:-1)
我为你的mysql创建一个函数,php使用你的参数$ location和$ weekYear因为你的参数WEEKYEAR与标准格式不同而且php或mysql不能正常运行