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;'
そして、それに 2 つのパラメータをバインドするだけです。しかし、これにより、SET @var1=?; の近くで mysql 構文エラーが発生します。
もちろん、この例では、3 つの変数をバインドして、クエリを実行する前に計算を行うことができます。私の実際のクエリには、より高度な計算があり、同じ変数を複数の場所にバインドする必要があります。そして、それは繰り返しの悪いコーディング慣行のようです。
これに対する解決策はありますか?