【问题标题】:DB Error Handling in PHPPHP 中的数据库错误处理
【发布时间】:2012-04-13 04:04:49
【问题描述】:

我正在使用 Codeigniter 和 Active Record 类在 PHP 中构建一个简单的 API。 我有一张表,其中 IP 地址用作主键,这是我的问题:

在运行插入数据的函数时,最好对数据库运行查询以检查 IP 是否存在,然后执行插入数据的第二次查询(如果 IP 不存在)或 尝试插入数据并解析“重复条目”或其他内容的错误消息。所以我只对这个使用 1 个 DB 查询。

所以它基本上是 PHP 验证与 MySQL 验证。那么哪种技术更好和/或更快。

谢谢。

【问题讨论】:

  • 就个人而言,我会使用 try/catch 并解析来自 MySQL 的重复记录错误消息。这样你只有 1 个查询 (INSERT INTO..) 而不是 2 个查询(检查是否存在,如果不插入)。

标签: php mysql codeigniter error-handling


【解决方案1】:

考虑使用 ON DUPLICATE KEY UPDATE 语法。阅读更多相关信息:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html 但是,如果在你的情况下它比我会使用 php 验证更可取,因为在 mysql 中触发错误绝不是一个好主意。

【讨论】:

猜你喜欢
  • 2011-04-30
  • 2016-04-11
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2011-04-22
  • 1970-01-01
相关资源
最近更新 更多