0

入力テキスト フィールドが 1 つあり、ユーザーは名、姓、ID、電子メール、または電話番号を入力でき、残りのユーザー情報が取得されます。ただし、ユーザーが Jerry Smith のような名前と姓を入力しようとすると (これは頻繁に発生しています)、null 値が返されます。

ユーザーが名字と姓の両方を入力すると、nullではなく人が返されます。

これが私のコードです....

            //$id = 1234;
            //$phone = '555-555-5555';
            //$email = 'test@email.com';
            //$firstname = 'Jerry';
            //$lastname = 'Smith';
              $fullname = 'Jerry Smith';

            if($id || $phone || $email || $firstname || $lastname) {
                    $data = get_user_info($id, $phone, $email, $firstname, $lastname);
            }

            function get_user_info($id = null, $phone = null, $email = null, $firstname = null, $lastname = null){
            if($id) {
                    $this->db->or_where('ID', $id);
            }
            if($phone) {
                    $this->db->or_where('HomePhone', $phone);
            }
            if($email) {
                    $this->db->or_where('HomeEmail', $email);
            }
            if($firstname) {
                    $this->db->or_where('FirstName', $firstname);
            }
            if($lastname) {
                    $this->db->or_where('LastName', $lastname);
            }
            $query = $this->db->get($this->my_table);
            $member = $query->result_array();
            return $member;
    }
4

2 に答える 2

1
function get_user_info($id = null, $phone = null, $email = null, $firstname = null, $lastname = null)
{
     $this->db->select('*');
     $this->db->where('ID',$id);
     $this->db->or_where('HomePhone',$phone);
     $this->db->or_where('HomeEmail',$email);
     $this->db->or_where('FirstName',$firstname);
     $this->db->or_where('LastName',$lastname);
     $query = $this->db->get($this->my_table);
     $member = $query->result_array();
     return $member;
}
于 2013-05-24T04:05:32.190 に答える