php - PHP 应用程序是否应该对不正确的数据库值执行错误处理?

标签 php database

想象一下……我在数据库中有一个名为“current_round”的字段。这可能只在 0,1,2,3 范围内。

通过应用逻辑,不可能将大于3或小于0的数取到数据库中。

是否应该进行错误检查以查看值是否格式错误(即不在 0-3 范围内)?或者这只是不必要的开销?是否可以假设数据库中的值格式正确/范围正确等(假设您正确处理/评估所有用户输入?)

最佳答案

我通常不会验证数据库中的所有数据。相反,我尝试对数据库施加约束。在您的情况下,根据 0、1、2、3 的含义,我可能会使用带有外键约束的查找表,或者如果它们只是数值,我可能会使用检查约束(与下一个数据库供应商不同)。

这有助于防止具有直接访问权限的人和/或可能使用相同数据库但不共享您的输入验证过程的 future 应用程序对数据库进行更改。

关于php - PHP 应用程序是否应该对不正确的数据库值执行错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660784/

相关文章:

PHP - 在 MVC 中在哪里实现 session 逻辑?

用于创建表单元素的 PHP 函数。好的做法?

sql - 获取 SQL Server 中所有数据库大小的总和

mysql - 连接 3 个 MySQL 表的最佳方法

javascript - Math.random() 在循环中使用时不会给出新数字

PHPUnit 将模拟对象作为参数传递给另一个对象的构造函数并使用 expects() 方法

php - 如何从响应数组 paypal 中检索多个购物车项目值

php - 如何通过 PHP 访问 AWS S3?

sql-server - 可扩展性和数据库磁盘

c# - 如何分离此 Entity Framework 模型以防止内存错误?