用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2394|回复: 1
收起左侧

如何判断表中的ID值的有效性?

[复制链接]
发表于 2010-12-3 10:40:30 | 显示全部楼层 |阅读模式
本帖最后由 fltn03 于 2010-12-3 10:43 编辑

在学习CI的过程中遇到了一点问题:
我在写查看某一条新闻内容的功能函数时,输入一个ID值,如果判断这个ID值是数据库表中的ID值呢?
比如说我的数据库中现在有一个新闻表,里面存放了N条新闻。我写了一个查看某条新闻内容的函数,函数中传的参数便是新闻表中的ID(新闻ID)。
代码如下:
PHP复制代码
function show_news($id)
{
        //对ID值进行格式化
        $id=intval($id);
        $this->db->select('id,title,content,created_time');
         // “db_news”就是我数据库中的新闻表
        $result=$this->db->get_where('db_news',array('id'=>$id));              
        if($result->num_rows()==1)
                return $result->result_array();
        else
                return false;
}
复制代码

比如说我新闻表中的ID值是从100到500,而且ID值为50,51,60,75的数据已经被删除了。如果我在上面那个函数中传入ID值为-10、20、50或700等不合法的值时,程序会报错,而且数据库中的操作也会出错。请问如果才能对ID的值做一个有效性的验证呢?
发表于 2010-12-3 12:20:27 | 显示全部楼层

回复: 如何判断表中的ID值的有效性?

在查询数据库的时候没有数据就返回空,你再在c 层判断,如果拿到数据是空就提示相应的错误信息,报错是因为你没有做空值判断

发送自我的 Milestone 大板凳

本版积分规则