尝试在sql select语句中使用php变量
我正在合并其他人编写的两段代码。该页面显示来自mySql数据库的记录,并且我尝试使用的变量已使用以下代码显示:尝试在sql select语句中使用php变量,php,sql,Php,Sql,我正在合并其他人编写的两段代码。该页面显示来自mySql数据库的记录,并且我尝试使用的变量已使用以下代码显示: <span class="headLeft"><?php echo cleanData($this->RECIPE->name); ?>:</span> 我不能让这个变量正常工作。我不能使用$name,我已经尝试用单引号和双引号将其括起来。看看准备好的语句。 要防止SQL注入,请不要连接SQL查询和参数 你应该使用PDO,这样更安全 这
<span class="headLeft"><?php echo cleanData($this->RECIPE->name); ?>:</span>
我不能让这个变量正常工作。我不能使用$name,我已经尝试用单引号和双引号将其括起来。看看准备好的语句。 要防止SQL注入,请不要连接SQL查询和参数 你应该使用PDO,这样更安全
这里有一个类似的例子。请简化您的问题并用代码标签设置代码格式,虽然它是可读的,但您将SQL与php代码混淆了。您不能在mysql中定义php变量。另外,在声明变量之前,您正在调用它。这四舍五入是为了什么?设置@carries=RoundSumi.carries/1500*100,2;这是您在MySQL中定义变量的方式,但您应该在php中处理您的算术。我建议您查看以下内容:。它很好地解释了如何使用准备好的语句将值传递给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