簡體   English   中英

Codeigniter查詢到MSSQL查詢

[英]Codeigniter query to mssql query

如何將這一行代碼轉換為MSSQL Server 2012可接受的查詢?

我收到此錯誤我在C:\\ xampp \\ htdocs \\ pis \\ application \\ models \\ main.php中的布爾值上調用成員函數num_rows()時,我試圖將其轉換為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);

您好希望這對您有幫助...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM