DATE_FORMAT()mysql代码可以在PHPMyAdmin中运行,但不能在PHP中运行

时间:2015-10-21 17:09:32

标签: php mysql

我在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()导致此查询出现故障怎么办?

非常感谢任何帮助,建议和建议!

1 个答案:

答案 0 :(得分:-1)

我为你的mysql创建一个函数,php使用你的参数$ location和$ weekYear因为你的参数WEEKYEAR与标准格式不同而且php或mysql不能正常运行