Php 联接查询中的mysql语法错误
我在下面的查询中遇到了一个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
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
变量的完整代码,所以不清楚是否需要额外的双引号。