2015-07-28 2 views
0

Как преобразовать эту строку кода в запрос, который будет принят MSSQL Server 2012?Запрос Codeigniter на запрос mssql

Im получаю эту ошибку вызов функции члена NUM_ROWS() на логическое значение в C: \ XAMPP \ HTDOCS \ пись \ приложения \ модели \ main.php Это происходит, когда им пытаются превратить его в запрос для MSSQL

 function login($username, $password) { 



     $this -> db -> select(); 
     $this -> db -> from('tbl_user'); 
     $this -> db -> JOIN('tbl_assign_role', 'tbl_user.u_id = tbl_assign_role.tar_owner_id'); 
     $this -> db -> where('tbl_user.u_uname = ' . "'" . htmlspecialchars($username) . "'"); 
     $this -> db -> where('tbl_user.u_pword = ' . "'" . MD5($password) . "'"); 
     $this -> db -> where('tbl_user.is_active = 1'); 
     $this -> db -> limit(1); 
     $query = $this -> db -> get(); 

     if($query -> num_rows() == 1) 
     { 
      return $query->result(); 
     } 
     else 
     { 
      return false; 
     } 

    } 

изменить его в этом

$query = "SELECT * FROM tbl_user 
        LEFT JOIN tbl_assign_role ON tbl_user.u_id = tbl_assign_role.tar_owner_id 
        WHERE tbl_user.u_name = '".$username."' 
        AND tbl_user.u_pword = '".MD5($password)."' 
        AND tbl_user.is_active = 1 
        FETCH NEXT 1 ROWS ONLY 
        "; 

После того, как я изменился, стал ошибкой.

Теперь он работает. То, что я сделал это

$query = "SELECT TOP 1 * FROM tbl_user 
     JOIN tbl_assign_role ON tbl_user.u_id = tbl_assign_role.tar_owner_id 
     WHERE tbl_user.u_uname = '".htmlspecialchars($username)."' 
     AND tbl_user.u_pword = '".MD5($password)."' 
     AND tbl_user.is_active = 1"; 

     $query = $this->db->query($query); 
+0

Я не знаю, CodeIgniter вообще. Но метод 'num_rows' не требует каких-либо аргументов? –

+0

В codeigniter ему не нужен аргумент. – user3911182

+0

Вы хотите преобразовать этот запрос в MySql из метода codeigniter? –

ответ

0

Привет надеюсь, что это поможет ...

"SELECT tbl_user.*,tbl_assign_role.* FROM tbl_user left join tbl_assign_role on tbl_assign_role.tar_owner_id = tbl_user.u_id where tbl_user.u_uname = '".htmlspecialchars($username)."' and tbl_user.u_pword ='".MD5($password)."' and tbl_user.is_active='1' limit 1";