是否可以在网页上显示触发错误信息?

问题描述 投票:0回答:1

我在某些条件下触发,如果条件:

false
发生错误。我应该将数据库触发器中发生的错误消息显示到
HTML
网页以通知用户!

CREATE TRIGGER check_trigger BEFORE INSERT ON your_table
FOR EACH ROW
BEGIN        
    IF (NEW.name = NEW.firstname) THEN
        SIGNAL SQLSTATE '45000' 
            SET MESSAGE_TEXT = 'same names error. Insertion canceled';
    END IF;
END

如何将

SET MESSAGE_TEXT=""
显示到网页上?如果实在不行还有其他办法吗

php mysql triggers error-messaging
1个回答
4
投票

您可以查看此处的文档

它说:

SIGNAL 执行后可访问的错误值是 SIGNAL 语句引发的 SQLSTATE 值以及 MESSAGE_TEXT 和 MYSQL_ERRNO 项。这些值可从 C API 获得:

mysql_sqlstate()
返回
SQLSTATE
值。

mysql_errno()
返回
MYSQL_ERRNO
值。

mysql_error()
返回
MESSAGE_TEXT
值。

既然我猜你正在使用 PHP,你可以尝试一下

if (!$mysqli->query("INSERT INTO your_table SET name='a', firstname='a'")) {
    printf("Error message: %s\n", $mysqli->error);
}
© www.soinside.com 2019 - 2024. All rights reserved.