Я объединять 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, и я пробовал обернуть его в одиночные и двойные кавычки.
Взгляните на подготовленные заявления. Чтобы предотвратить SQL-инъекции, не объединяйте SQL-запрос и параметры.
Вы должны использовать PDO безопаснее.
Вот аналогичная проблема.