【发布时间】:2026-01-13 07:30:01
【问题描述】:
我有一个preparedstatement 插入查询。如果插入查询失败,我想实现一个电子邮件通知系统。如何识别失败的查询?
$stmt = $conn->prepare( "INSERT INTO user_persons ( NAME, DATE, ADDRESS, PINCODE ) VALUES ( ?, ?, ?, ? )" );
$stmt->bind_param( 'ssss', $name, $date, $address, $pincode );
$stmt->execute();
$stmt->close();
【问题讨论】:
-
mysqli 和 pdo 在失败时返回布尔值 false,默认情况下。所以
$result = $stmt->execute(); if ($result === false ) { die("query failed"); } -
if(!$stmt->execute()){ // 在这里编写你的 mail() 函数。}
-
实际上你的陈述永远不应该失败。如果它取决于某些参数,请在执行语句之前验证它们,如果它们无效,请不要尝试执行语句。
-
@biesior;是的,我已经处理了几乎所有的场景。但我想确保使用这种方法的功能。
标签: php mysql prepared-statement typo3