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

时间:2019-07-02 12:35:18

标签: php html mysql database-trigger error-messaging

我在特定条件下有触发器,如果​​条件: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=""?如果不可能通过其他任何方式

2 个答案:

答案 0 :(得分:4)

您可以查看the documentation here

它说:

  

执行SIGNAL后可访问的错误值是SIGNAL语句以及MESSAGE_TEXT和MYSQL_ERRNO项目引发的SQLSTATE值。这些值可从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);
}

答案 1 :(得分:0)

您可以看到类似Pusher的某种东西,它是一种外部休息服务,可以将消息推送到您的网站。