特定の条件でBefore Insertトリガーがあります.If条件:falseエラーが発生します。データベース トリガーで発生したエラー メッセージをHTMLWeb ページに表示して、ユーザーに通知する必要があります。
CREATE TRIGGER check_trigger BEFORE INSERT ON your_table
FOR EACH ROW
BEGIN
IF (new.ref_owner = new.partnerCodeOwner1)
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'You can not use your ID. Insertion canceled';
END IF;
END
こちら 挿入コード!私は使用mysql_sqlstate() returns the SQLSTATE value
しましたが、エラーメッセージをキャッチしません
$user_check_query = "SELECT partnerCodeOwner1
FROM refer
where randomfield='$partnerCode'";
$result = mysqli_query($db, $user_check_query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if(empty($row['partnerCodeOwner1'])) {
$query = "update refer
set partnerCodeOwner1= '" . $_SESSION['username']
. "' where randomfield='$partnerCode'";
printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($query));
}else {
$query = " update refer
set partnerCode= '" . $_SESSION['username'] . "'
where randomfield='$partnerCode' ";
//printf("Error message: %s\n", $mysqli->error);
}
mysqli_query($db, $query);
ケース条件でトリガーからエラーメッセージを取得する必要がありますfalse!!!