php - 如何使用 mysqli_sqlstate() 显示触发错误信息?
问题描述
我在某些条件下有插入前触发器,如果条件:false
发生错误。我应该将数据库触发器中发生的错误消息显示到HTML
网页以通知用户!
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
!
解决方案
推荐阅读
- android - Android:如何制作特殊的recyclerview布局
- observable - 当我尝试编译时,我不断收到这个错误类不是抽象的,并且没有覆盖 MyObserver 中的抽象方法 update(Object)
- strftime - 如何编写符合 Flake8 的 strftime 表达式?
- javascript - 如何将 Google Analytics api 响应放入工作表中?
- aws-amplify - 放大 @model 语法以仅生成创建和更新突变(而不是删除)
- vuejs2 - 使用 Nuxt.js 将事件传递给父组件
- java - 在添加之前检查 ArrayList 中元素的 ID 是否已经存在
- javascript - 使用javascript在表格中移动图像
- c# - 如何显示带有图片和一些文本区域的 ListView?
- amazon-web-services - AWS Elastic Beanstalk:动态部署和设置/更新环境变量