答案 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);
}