Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 联接查询中的mysql语法错误_Php_Mysql - Fatal编程技术网

Php 联接查询中的mysql语法错误

Php 联接查询中的mysql语法错误,php,mysql,Php,Mysql,我在下面的查询中遇到了一个mysql语法错误 SELECT student_info.grade, student_info.section, student_info.student_name, mwf.* FROM student_info INNER JOIN mwf ON student_info.student_gen_id = mwf.mwf_student_id WHERE mwf.mwf_month =".$current_month

我在下面的查询中遇到了一个mysql语法错误

SELECT student_info.grade,
       student_info.section,
       student_info.student_name,
       mwf.*
FROM student_info
INNER JOIN mwf ON student_info.student_gen_id = mwf.mwf_student_id
WHERE mwf.mwf_month =".$current_month
错误

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,了解第4行“2014”附近使用的正确语法

这里的
mwf\u month
是字符串类型,我传递的值为
current\u month
2014年10月

我做错了什么?提前谢谢

更新

生成查询的完整模型函数

public function transaction_report_total($current_month) {
        $sql = "SELECT student_info.grade,
                student_info.section,
                student_info.student_name,
                mwf.*
                FROM student_info
                INNER JOIN mwf ON student_info.student_gen_id = mwf.mwf_student_id
                WHERE mwf.mwf_month = '" . $current_month."'";

        $query = $this->db->query($sql);
        return $query->result_array();
    }

由于
mwf\u month
的类型是string,因此需要在
$current\u month
之间添加单引号,如下所示

SELECT student_info.grade, student_info.section, student_info.student_name, mwf.* 
FROM student_info
INNER JOIN mwf ON student_info.student_gen_id = mwf.mwf_student_id
WHERE mwf.mwf_month = '".$current_month."'
更新

看起来SQL语句在
$current\u month
之后结束,因此实际上需要在末尾加上双引号

$sql = "SELECT student_info.grade,
        student_info.section,
        student_info.student_name,
        mwf.*
        FROM student_info
        INNER JOIN mwf ON student_info.student_gen_id = mwf.mwf_student_id
        WHERE mwf.mwf_month = '".$current_month."'";

在字符串变量周围加上单引号谢谢@MKhalidJunaid,我已经删除了双引号。如果没有删除的双引号,它将无法工作quote@Alvi_1987你能编辑问题并添加更多生成查询的代码吗?@Alvi_1987根据你的问题,如果你有其他问题,这个答案是正确的,然后用正确的错误信息相应地更新你的问题,我认为这是一个误解,因为您没有提供包含
$sql
变量的完整代码,所以不清楚是否需要额外的双引号。