我有一个接收一些参数的 PHP 函数。每个参数对应一个 SQL 行的 VALUE。我想做的是根据参数更新值;但有一些参数不是强制性的。因此,如果参数设置为“keep”,则 VALUE 必须保持其当前值。这就是我卡住的地方。
这是功能:
function upt($id, $p1, $p2)
{
if ($p1 === 'keep')
$p1 = 'columnName1';
if ($p2 === 'keep')
$p2 = 'columnName2';
$REQ = $DB->prepare('UPDATE ms_cart_products SET columnName1=:P1, columnName2=:P2 WHERE ID=:ID');
$REQ->execute(array(
':P1' => $p1,
':P2' => $p2,
':ID' => $id));
$REQ->closeCursor();
}
显然,这是行不通的(即使我暗中希望使 $p1 = 'columnName1' 能够像我直接在 SQL 控制台中创建 COL1=COL1 一样工作)。VALUE 按字面意思设置为“columnName”。
有任何想法吗 ?
谢谢你,弗洛里安