假设我有一个非常基本的更新查询:
$sql = 'UPDATE `table` SET column = :value WHERE id = :id';
我用 PDO 准备这个,我可以将“列”列设置为任何值。很好,这很好用。
我可以很容易地使用这个准备好的语句将列设置为特定值:
UPDATE `table` SET column = 12 WHERE id = 123
但是,如果我想运行查询怎么办:
'UPDATE `table` SET column = column + 1 WHERE id = 123
这可能使用相同的准备好的语句吗?我猜不是,这很遗憾,因为使用准备好的语句可能不值得,因为我不确切知道如何计算列的值。
例如 $stmt->execute(array(':value' => 'column + 1', ':id' => 123));