我在某些条件下触发,如果条件:
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=""
显示到网页上?如果实在不行还有其他办法吗
您可以查看此处的文档。
它说:
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);
}