mysql:信号sqlstate到php

时间:2015-08-23 12:37:36

标签: php mysql

大家好我正在开发一个php-mysql应用程序。 mysql数据库使用触发器来强制执行各种约束。 让我们说有一个表只有两列(ID和值),触发器阻止插入负值。         CREATE TEABLE my_tbl(         id INT(9)AUTO_INCREMENT PRIMIRY KEY,         值INT(9)         ) 触发器看起来像这样:         创建触发器my_trigger         在插入my_tbl之前         对于每一行         开始         如果NEW.value< 0那么         SIGNAL sqlstate' 45000' SET message_text ='值必须为正数&#39 ;;         万一;         END

有几个触发器,每个都有这行代码:     SIGNAL sqlstate' 45000' SET message_text ='值必须为正数&#39 ;; 唯一改变的是message_text,这取决于违反的约束。如果你是mysql控制台输入日期触发器" show"我这个描述,但是当我使用php界面时,它不会添加数据并且不会返回任何错误,因此用户不知道数据是否未被插入。 我的问题:有没有办法在php生成的页面上显示message_text? 我使用过搜索功能,但我发现的每个解决方案都使用PDO和/或面向对象的php,而我想坚持使用过程性的php和mysql

1 个答案:

答案 0 :(得分:1)

我使用mysqli_error函数解决了问题,它返回最后一个错误消息。