我编程PHP已经有一段时间了,所以我非常生疏,所以我只想仔细检查我的工作。使用以下代码作为检查字符串是否对数据库唯一的方法吗?
function isUnique($string, $type) {
switch ($type) {
case 'username':
$query = $this->db->select('username')
->from('olm_user')
->where('username', $string);
if (!$query->num_rows()) {
return false; // returns false if not taken?
}
break;
case 'email':
$query = $this->db->select('email')
->from('olm_user')
->where('email', $string);
if (!$query->num_rows()) {
return false; // returns false if not taken?
}
break;
case 'olname':
$query = $this->db->select('olname')
->from('olm_user')
->where('olname', $string);
if (!$query->num_rows()) {
return false; // returns false if not taken?
}
break;
}
}
答案 0 :(得分:5)
如果这就是你需要做的全部(即总是查询olm_user
表,type
总是映射到列名),也许这就足够了:
<?php
function isUnique($string, $type) {
$query = $this->db->select($type)
->from('olm_user')
->where($type, $string);
return !$query->num_rows();
}