Простой вопрос, но мой поиск не находит ответа. Я пытаюсь использовать переменную в поиске MySQL, и я продолжаю получать ошибку. Я знаю, что значение переменной хорошо, потому что, когда я передаю его прямо, он работает. Вот ошибка, которую я получаю
"Error: something went wrong: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Bank of CanadaGROUP BY YEAR(date), MONTH(date) DESC' at line "
$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, вам нужно добавить пробел перед тегом GROUP BY
.
Попробуйте этот запрос:
1) Вам нужно заключить $lenderName
в ''
поскольку это string
значение.
2) Перед ключевым словом GROUP BY
необходимо иметь место
$query = "SELECT * FROM current_rates WHERE financial_institution ='". $lenderName ."' GROUP BY YEAR(date), MONTH(date) DESC";
пожалуйста, укажите пробел между именем и группой
$query = "SELECT * FROM current_rates WHERE financial_institution ='".$lenderName."' GROUP BY YEAR(date), MONTH(date) DESC";