所以最近我正在用Codeigniter制作一个简单的CRUD应用程序。
我的表具有 id 字段,该字段是自动增量字段。 我的模型有一个名为getById的函数。
public function getById($id){
return $this->db->get_where($this->_table,["id" => $id])->row();
}
在我的表中,我有 1 个 ID 为 1 的字段。
如果我尝试使用错误的 ID 进行查询,它将返回空。
但是,当我尝试输入类似 1 的东西后跟类似字符串时
1测试
它确实在我的数据库中返回了 ID 为 1 的字段。我不知道这是应该的还是错误。
当然,Codeigniter 正在将您的字符串转换为整数。
PHP intval(( 手册 说: 字符串很可能会返回 0,尽管这取决于字符串最左侧的字符。整数转换的常见规则适用。
因此,如果您需要对无效条目抛出错误,则必须首先验证它们,也许使用 is_int(( 只允许整数类型或 is_numeric(( 允许仅包含数字的字符串。