3

特定の条件で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!!!

4

0 に答える 0