请问这个PHP是独特的功能吗?

Dr *_*isk 0 php

我已经有一段时间编程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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Lau*_*nen 5

如果这就是你需要做的全部(即总是查询olm_user表,并type始终映射到列名),也许这就足够了:

<?php
function isUnique($string, $type) {
  $query = $this->db->select($type)
                    ->from('olm_user')
                    ->where($type, $string);
  return !$query->num_rows();
}
Run Code Online (Sandbox Code Playgroud)