sql - SQL-处理PHP中的错误(重复输入)

标签 sql error-handling duplicates entity warnings

   <input type="text" name="CODE" size="25" placeholder="Insert code..." />

   <input type="text" name="NAME" size="25" placeholder="Insert name..." />

  if(isset($_POST['CODE'], $_POST['NAME'])){

         $querystring='INSERT INTO Company (Name, Code) VALUES(:Name,:Code);';

         $stmt = $pdo->prepare($querystring);
         $stmt->bindParam(':Name', $_POST['NAME']);
         $stmt->bindParam(':Code', $_POST['Code']);
         $stmt->execute();

}

嘿!

我遇到的问题是在PHP中以更好的方式显示SQL错误。假设我插入的公司的代码为“123”,名称为“ABC”。然后插入代码为“123”的公司后,我显然会得到一个错误,指出该代码存在重复项。

我得到的错误是
Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

我不能简单地用消息告诉用户他要插入的代码已经存在来替换此错误或警告。

希望我能解释,谢谢!

最佳答案

尝试像这样处理旅游查询,希望对您有用

try{
    $pdo->query("INSERT INTO `table`(`name`,`value`)`VALUES('name','value')");
}
catch (PDOException $e) {
    if($e->errorInfo[0] == '23000' && $e->errorInfo[1] == '1062'){
        throw new CustomException("Bla bla already exists");
    } 
    else {
    throw $e;
    }
}

关于sql - SQL-处理PHP中的错误(重复输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19157952/

相关文章:

mysql - 为什么 SELECT 周围的括号会改变结果?

mysql - 不显示拥有多个实例的用户的平均值

objective-c - JSON : how to deal with double quotations?

javascript - 如何解决阻止图表加载的错误 ("TypeError: popover is not a function")?

.net - 强名称 sn.exe : Failed to install key pair -- Object already exists

mysql - SQL NOT LIKE 无法正常运行

c# - 检查重复项时如何返回列?

error-handling - firebug 显示网络错误

javascript - 比较数组中图像的重复项

Excel VBA删除重复项保持定位