PHP MYSQL变量返回错误

PHP MYSQL变量返回错误,php,mysql,Php,Mysql,这个问题很简单,但我的搜索并没有找到答案。我试图在MySQL搜索中使用一个变量,但我一直得到一个错误。我知道变量值是好的,因为当我直接传递它时,它就工作了。这是我得到的错误 “错误:出现问题:SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第行“加拿大银行集团按年份(日期)、月份(日期)说明”附近使用的正确语法” 请尝试以下查询: 1) 您需要将$lenderName括在'中,因为它是字符串值 2) 在按关键字分组之前需要有空格 $query = "SELECT * FROM c

这个问题很简单,但我的搜索并没有找到答案。我试图在MySQL搜索中使用一个变量,但我一直得到一个错误。我知道变量值是好的,因为当我直接传递它时,它就工作了。这是我得到的错误

“错误:出现问题:SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第行“加拿大银行集团按年份(日期)、月份(日期)说明”附近使用的正确语法”

请尝试以下查询:

1) 您需要将
$lenderName
括在
'
中,因为它是
字符串

2) 在
按关键字分组之前需要有空格

$query = "SELECT * FROM current_rates WHERE financial_institution ='". $lenderName ."' GROUP BY YEAR(date), MONTH(date) DESC";

MySQL中的字符串必须用单引号括起来

否则,它们将被视为保留字/列名

更正后的SQL应为:

$query = "SELECT * FROM current_rates WHERE 
 financial_institution ='". $lenderName .
 "' GROUP BY YEAR(date), MONTH(date) DESC";

此外,根据Bhaumik Mehta的回答,您需要在
分组依据
标签前添加一个空格。

请在名称和分组之间留出一个空格

$query = "SELECT * FROM current_rates WHERE financial_institution ='".$lenderName."' GROUP BY YEAR(date), MONTH(date) DESC";

在分组之前,您需要一个空格。请正确回答这个问题。如果你做了更改,但仍然有错误。我的变量设置为lenderName='加拿大皇家银行';由于某种原因,错误消息会删除第一个单词。
$query = "SELECT * FROM current_rates WHERE financial_institution ='".$lenderName."' GROUP BY YEAR(date), MONTH(date) DESC";