1
对不起,我会试着解释我正在尝试做什么。所以,我有两个表ea_users
和ea_user_settings
。如何连接两个表ID并验证特定字段?
ea_users - 结构
id | data|
5 | 0
ea_user_settings - 结构
|id | username|
5 Sandokan
现在我想要做的是验证如果某些用户名在系统中已经存在。表ea_users
包含该id,表示单个用户的id
,以及data
字段(0个用户未被删除,还有1个用户被删除)。
在ea_user_settings
表中我有我的用户的所有设置。现在对于检查一个可能的想法,如果某个用户名已经存在,是这样的:
public function validate_username($username, $user_id)
{
$num_rows = $this->db->get_where('ea_user_settings',
array('username' => $username, 'id_users <> ' => $user_id))->num_rows();
return ($num_rows > 0) ? FALSE : TRUE;
}
这个函数有两个参数:username
和user_id
,那将要插入的username
和user_id
(如果这是增值的手段,我'm实际上保持更新用户,所以如果用户名已经存在,我不需要检查它。 其实所有的工作正常,但我想检查username
是否存在只有数据等于0的用户,如果数据是1用户名是可用的'因为它被删除。我不知道情况是否更清楚。我如何在单个查询中实现这一目标?
确定的数据= 1点的工作,但如果我插入不存在于数据库查询的用户名返回false。 – Sandokan
@Sandokan你能解释一下你想要检查的内容吗?当然,如果它不存在它将返回false,因为我们的查询检查这个特定的用户名 –
@IlanHasanov我猜用户需要检查用户名是否存在未删除的用户(数据= 0),所以也许在您的查询您应该将ea_users.data更改为0,并在第一步中将返回false设置为不在第二步中。这是正确的? – Dillinger