PHPでMySql値が変更された場合にUPDATEで更新

公開日: 更新日:

値が変更されたかどうかをCASE WHEN THENを使って分岐する。

CASE WHEN TestA = “%s”で値が=の場合はTHEN TestA。
つまりTestA = TestAとなりこう書くとTestAの値はTestAということで変更がされない。
=でない場合はELSE “%s”で変更された値が入る。

require(‘dbconnect.php’);
$SqlUpdate = sprintf(‘
UPDATE testtable SET
TestA =  (
CASE WHEN TestA = “%s”
THEN TestA
ELSE “%s”
END),
TestB =  (
CASE WHEN TestB = “%s”
THEN TestB
ELSE “%s”
END),
TestC =  (
CASE WHEN TestC = “%s”
THEN TestC
ELSE “%s”
END)’
,$TestA
,$TestA
,$TestB
,$TestB
,$TestC
,$TestC
);

$recordSet = mysql_query($SqlUpdate) or die(mysql_error());

作成者: ひろし

ひろしつちや@婚活中です。 本業はフリーランスのプロマジシャンです。 こちらでは本業以外の事を書いていこうと思います。 記事の感想、コメント、質問などあればTwitterにお願いします。