PHP将post值乘以一个数字并在查询中绑定它


PHP multiply post value by a number and bind it in query

当我运行下面的查询时,它运行良好:

$query->bind_param('ssi', $Email, $name, $_POST['quantity_value']);

但是当我尝试将数量值乘以2时,代码不会运行:

$query->bind_param('ssi', $Email, $name, $_POST['quantity_value'] * 2);

这个很好:

$quantity_value = $_POST['quantity_value'] * 2;
$query->bind_param('ssi', $Email, $name, $quantity_value);
编辑:

我也得到了错误:

不能通过引用

传递参数3

bind_param就是它所说的:它绑定参数。例如,当您想要执行循环时,这很有用:

$i = 0;
$query->bind_param("i",$i);
for( $i=0; $i<10; $i++) {
    $query->execute();
}
// result: ten rows numbered 0 to 9

但是,绑定值是通过引用传递的。不能引用计算或函数调用的结果,只有变量可以通过引用传递。

这就是为什么$quantity_value = $_POST['quantity_value'] * 2允许它工作,因为你现在有一个变量,你绑定到你的查询