MySQL PDOのprepareでUPDATE
下記を実行するたびにjpy
は1足されていきます。
$stmt = $pdo->prepare('UPDATE TABLE SET jpy = jpy + 1 WHERE ID = 1000');
$stmt->execute();
変更したい値を変数で変えたいのですが反映されません。
$money = 'usd';
$stmt = $pdo->prepare('UPDATE TABLE SET :money = :money + 1 WHERE ID = 1000');
$stmt->bindParam(':money', $money, PDO::PARAM_STR);
$stmt->execute();
構文のように一つの行の一つのカラムの値をプラス1したいだけです。
?
を使ったりPARAM_INT
やbindValue
など試しましたがダメでした。
if
など使わずスマートにセキュアにダイナミックかつアグレッシブでフレキシブルに上記を反映させるにはどうすればよいですか?