У меня возникли проблемы с тем, чтобы мои переменные работали в запросе MySQL. Я сделал это раньше, но почему-то не работает. Я, вероятно, что-то пропустил, но не могу понять, может ли кто-нибудь мне помочь?PHP-переменные, не работающие в запросе MySQL
Мой код
$cat = "Fashion";
$article = db::getInstance()->query("SELECT * FROM articles WHERE category = $cat ORDER BY views");
if($article->results(){
echo 'success!';
}
else{
echo 'no';
}
я должен получать «успех» вторит из, но вместо этого я получаю «нет»; Мода - это категория в моем db, поэтому не знаю, почему это не работает для меня.
Вы пытались включить переменную в одинарные кавычки? 'WHERE category = '$ cat'' и т. Д. – Ben
' views' 'отсутствует скобка и точка с запятой => http://php.net/manual/en/function.error-reporting.php и двоеточие' echo ' no ': 'вместо sem-colon.' if ($ article-> results() {'отсутствует скобка. Поэтому не спрашивайте себя, почему ваш код не работает. –
Вы получаете' 'no'', потому что это что вы запрограммировали систему, чтобы показать вам, когда есть ошибка. Возможно, вы также попытаетесь получить фактическую ошибку из объекта базы данных, я уверен, что она пытается рассказать вам, почему запрос не удался. (Хотя показанный код не будет работать по нескольким причинам , так что я подозреваю, что это даже не код, который вы используете) в конечном счете, использовать подготовленные операторы с параметрами запроса, а не непосредственно конкатенации значений и этот синтаксис/процитировать ошибка становится спорным – David