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


6月4日12年更新

値が変更されたかどうかを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());