いくつかのパラメーターを受け取るPHP関数があります。各パラメーターは、1つの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」に設定されます。
何か案は ?
ありがとう、フロリアン