2010-06-22 51 views
0

我已經編程了一段時間,所以我很生鏽,所以我只是想仔細檢查一下我的工作。使用以下代碼作爲檢查字符串是否對數據庫唯一的方法?這個PHP isUnique函數能工作嗎?

 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; 
     } 
    } 

回答

5

如果這就是你需要做的(即始終查詢olm_user表,type始終映射到列名),也許這就夠了:

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

哇,我覺得自己很蠢,大道具夥計......謝謝。 – 2010-06-22 04:17:24