我们有一个 Web 应用程序在工作中与 Postgres SQL 数据库通信 - 我在服务器上设置了许多约束以保持数据一致,但我们无法很好地报告阻止用户输入他的(无效)数据的原因给定的时刻。
我们唯一能得到的是“违反约束”,但这不是很具描述性,从 perl 或直接从 PGAdmin 我们得到关于哪个约束导致失败(约束的名称)的好信息 - 有没有办法做同样的事情在 PHP 中?
如果有帮助,我们可以升级 PHP 或使用不同的数据库访问模块,所以我很想知道是否可以使用您可以安全推荐的任何方式进行操作。
最佳答案
你最好用pg_result_error_field ,此功能为您提供有关错误的更详细信息。如果您使用存储过程并让它们抛出异常,包括 DETAIL's and HINT's ,您的代码中的错误处理将非常容易。
关于PHP Postgres 约束违规 - 我可以以某种方式获取约束名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681752/