使用/ sql + codeigniter进行表单验证

时间:2010-07-22 16:43:41

标签: php codeigniter

3 个答案:

答案 0 :(得分:1)

  if($this->home_model->find_username($str)) return false;
  true;

鉴于上面的代码片段,您不会将其返回true。如果这是你的代码而不是拼写错误,那应该是:

  if($this->home_model->find_username($str)) return false;
    return true;

这应该解决它,让你没有错字。

编辑: 您也可以这样做,因为函数返回true / false,不需要if语句:

function firstname_check($str)
{
  return $this->home_model->find_username($str);
}

答案 1 :(得分:0)

所以解决方案涉及从if语句中取出查询语句,将其放入var然后计算行,如果行是> 0,无效。

虽然这比我想要的更复杂。

答案 2 :(得分:0)

我发现你的命名令人困惑。您的模型函数称为“find_username”,但它会搜索名字。您的表名称称为“MasterDB”。这听起来更像是数据库名称。它不应该被称为“用户”或类似的东西吗?我会这样写:

模特功能:

function user_exists_with_firstname($firstname)
{
    $sql = 'select count(*) as user_count 
            from users 
            where firstname=?';
    $result = $this->db->query($sql, array($firstname))->result();
    return ((int) $result->user_count) > 0;
}

验证回调函数:

function firstname_check($firstname)
{
    return !$this->user_model->user_exists_with_firstname($firstname);
}