Попытка использовать переменную php в выражении выбора SQL

0

Я объединять 2 части кода, которые были написаны другими. На странице отображаются записи из базы данных mySql, и переменная, которую я пытаюсь использовать, уже отображается с использованием следующего кода:

<span class="headLeft"><?php echo cleanData($this->RECIPE->name); ?>:</span>

Оператор select sql пытается использовать поле имени для поиска.

SELECT 
  name
  , Round(Sum(i.calories)/1500*100,2) as calories
  , Round(Sum(protein)/525*100,2) as protein
  , Round(Sum(fat)/300*100,2) as fat
  , Round(sum(carbohydrate)/675*100,2) as carbohydrate
  , Round(sum(fiber)/30*100,2) as fiber
  , Round(sum(sugar)/375*100,2) as sugar
  , Round(sum(saturated_fat)/150*100,2) as saturated_fat
  , Round(sum(monounsaturated_fat)/150*2,2) as monsaturated_fat
  , Round(sum(Polyunsaturated_Fat)/150*2,2) as polyunsaturated_fat
  , Round(sum(cholesterol)/200*100,2) as cholesterol
  , Round(sum(sodium)/1300*100,2) as sodium
  FROM 'mr_recipes' r 
  left join ingredients i on r.id = i.recipeid

   where name = ($this->RECIPE->name)
group by name

Я не могу заставить переменную работать. Я не могу использовать $ name, и я пробовал обернуть его в одиночные и двойные кавычки.

  • 0
    пожалуйста, упростите ваш вопрос и отформатируйте код в тегах кода
  • 0
    Извините, думал, что это читабельно
Показать ещё 7 комментариев
Теги:

1 ответ

0

Взгляните на подготовленные заявления. Чтобы предотвратить SQL-инъекции, не объединяйте SQL-запрос и параметры.

Вы должны использовать PDO безопаснее.

Вот аналогичная проблема.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню