我有一个在 mysql 中使用一些变量的查询。查询看起来像这样:
SET @var1 = 1;
SET @var2 = 2;
SELECT * FROM table WHERE table.column1=@var1
AND table.column2=@var2
AND table.colum3=@var1 * @var2;
我想做一个准备好的声明,例如:
$sql=' SET @var1 = ?;
SET @var2 = ?;
SELECT * FROM table WHERE table.column1=@var1
AND table.column2=@var2
AND table.colum3=@var1 * @var2;'
然后只需将两个参数绑定到它。但这在 SET @var1=?; 附近给了我一个 mysql 语法错误。
当然,在示例中,我可以绑定三个变量并在查询之前进行计算。在我的真实查询中,有更高级的计算,我需要将同一个变量绑定到多个地方。这似乎是重复和糟糕的编码实践。
有什么解决方案吗?