CI架構下用預存程序後不能再進行其他查詢

來源:互聯網
上載者:User
CI下調用MYSQL預存程序,串連必須釋放才能再次執行其他查詢,但是我這裡釋放串連後出錯了,代碼如下:
//擷取節點資訊
//執行預存程序
$query = $this->db->query("call ws_node_one($id)");
$data['node'] = $query->result_array()[0];
$this->db->close();//關閉串連
$this->load->database();//可有可無,CI下調用$this->db時自動連接
//下面的是新查詢
$result = $this->db->get_where("ws_node",array("id"=>$pid));//就是這句查詢報錯了

#######################################
錯誤如下:
A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysqli/mysqli_driver.php

Line Number: 320


#############################################
後面的查詢是有結果的,但是這個mysql_escape_string()的字元轉義函數調用失敗了,不知道為什麼,根據要求去 mysqli/mysqli_driver.php裡把mysql_escape_string改成mysql_real_escape_string,也是一樣,報mysql_real_escape_string錯誤。


##############################################
大神求解!!!
CI小白


回複討論(解決方案)

mysql 擴充必須在執行預存程序之後斷開資料庫連接,重新串連後才可以
所以 mysql 是落後的,要被淘汰的

你可改用 mysqli 或 PDO 擴充

改了後報mysql_real_escape_string錯誤。那報什麼錯誤呢

不是這樣查詢的,拼湊SQL也有問題。

mysql 擴充必須在執行預存程序之後斷開資料庫連接,重新串連後才可以
所以 mysql 是落後的,要被淘汰的

你可改用 mysqli 或 PDO 擴充


我這個用mysqli驅動的,而且我已經$this->db->close();關閉串連了,重新開啟就會報那個錯,但是查詢是有結果的

改了後報mysql_real_escape_string錯誤。那報什麼錯誤呢


改了mysql_real_escape_string()之後,報:
A PHP Error was encountered

Severity: 8192

Message: mysql_real_escape_string(): This function is deprecated; use mysql_escape_string() instead.

Filename: mysqli/mysqli_driver.php

Line Number: 320

不是這樣查詢的,拼湊SQL也有問題。


請問,什麼叫不是這樣查詢?不是這樣查怎麼查?

你的php版本是多少?

你的php版本是多少?


5.5

自5.5.0起mysql 擴充函數廢棄了,用mysqli 和 pdo代替吧。

自5.5.0起mysql 擴充函數廢棄了,用mysqli 和 pdo代替吧。


我在上面已經說過了,我的mysql驅動設定是mysqli,也就是說,所有查詢函數都是用musqli的,你好像還沒清楚問題啊。。。

CSDN什麼渣渣論壇,一點人氣都沒有,完全沒有能解答問題的技術人員,什麼版主的都是半斤八兩吧,唉。。。以後都不來這發文章了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.