Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Php 当从$\u获取值时,PDO bindValue不起作用_Php_Mysql_Pdo - Fatal编程技术网

Php 当从$\u获取值时,PDO bindValue不起作用

Php 当从$\u获取值时,PDO bindValue不起作用,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用PHP、SQL、PDO创建一个基本的评级函数,它将用户给出的评级值添加到字段recipe_rating,然后将1添加到字段recipe_ratingcounter 然而,我下面的代码有点不对劲!两行$query1->bindValue2,$recipename;和$query2->bindValue1,$recipename;无法正常工作,因为它们实际上没有将任何内容绑定到SQL语句中相应的占位符。SQL语法是正确的,因为当上面的$recipename变量被替换为单个字符串(如Tu

我正在尝试使用PHP、SQL、PDO创建一个基本的评级函数,它将用户给出的评级值添加到字段recipe_rating,然后将1添加到字段recipe_ratingcounter

然而,我下面的代码有点不对劲!两行$query1->bindValue2,$recipename;和$query2->bindValue1,$recipename;无法正常工作,因为它们实际上没有将任何内容绑定到SQL语句中相应的占位符。SQL语法是正确的,因为当上面的$recipename变量被替换为单个字符串(如Tunar意大利面或spag bol)而不是$\u GET['name'])时,整个函数可以完美地工作

Var_dump在以下情况下将$recipename显示为字符串:

$recipename=$\u GET['name']

$recipename=金枪鱼意大利面

…因此,我不知道下一步该怎么办,因为我已经尝试了我能想到的一切

这项工程—

但这不起作用-

任何帮助都将不胜感激。

bindValue用于原始值。例如:

$sql->bindValue(":val1", "tuna pasta");
$sql->bindValue(":val2", 1234);
$var1 = "tuna pasta";
$var2 = 1234;
$sql->bindParam(":val1", $var1);
$sql->bindParam(":val2", $var2);
对于变量中的值,必须使用bindParam。例如:

$sql->bindValue(":val1", "tuna pasta");
$sql->bindValue(":val2", 1234);
$var1 = "tuna pasta";
$var2 = 1234;
$sql->bindParam(":val1", $var1);
$sql->bindParam(":val2", $var2);

两种情况$\u GET与$\u POST之间只有一个区别-因此,调用页面时可能使用了不包含“name”或预期值的无效查询字符串。如果forms操作包含值,则这种情况很少见,但完全可能。这是一个巨大的安全风险。提示:不要将GET用于数据库写入。@iamgory POST不再安全。。它唯一能做的事情是将数据从URL中排除,URL通常会被记录下来,以便查找“敏感”信息,但这与保存的数据的安全性/完整性无关。嗯,它稍微安全一些,因为它至少可以对临时用户隐藏。理想情况下,他至少应该使用会话变量IMO。@iamgory这不是“安全性”。这是错误的。您可以在bindValue中使用变量,它们只是不受引用的约束。