Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在sql select语句中使用php变量_Php_Sql - Fatal编程技术网

尝试在sql select语句中使用php变量

尝试在sql select语句中使用php变量,php,sql,Php,Sql,我正在合并其他人编写的两段代码。该页面显示来自mySql数据库的记录,并且我尝试使用的变量已使用以下代码显示: <span class="headLeft"><?php echo cleanData($this->RECIPE->name); ?>:</span> 我不能让这个变量正常工作。我不能使用$name,我已经尝试用单引号和双引号将其括起来。看看准备好的语句。 要防止SQL注入,请不要连接SQL查询和参数 你应该使用PDO,这样更安全 这

我正在合并其他人编写的两段代码。该页面显示来自mySql数据库的记录,并且我尝试使用的变量已使用以下代码显示:

<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