2015-02-05 215 views
0

我目前有一個網站是Joomla 2.5託管的,我們有一致的數據庫崩潰,這意味着我必須不斷修復數據庫。我不情願地升級到mySQL 5.6,現在我的部分網站出現了問題。mySQL升級後的問題

你得忍耐一下,因爲我新手...

我面對的錯誤是:

Fatal error: Call to undefined function mysql_real_escape_string() in 
/home/seafoods/public_html/landings/images-4/administrator/components/com_ose_cpu/oseregistry/database/osedbMySQL.php on line 182 

我做了一些研究,我相信函數mysql_real_escape_string( )折舊。我已經看到建議轉換爲mysqli,但基本上我已經超出了我的深度,我正在尋找一些建議。

謝謝你們 有一個愉快的一天

+1

[這裏是你繼續使用'mysql_ *'函數時會發生什麼的例子。](http://stackoverflow.com/questions/26299564/php-version-upgraded-cannot-use-few-functions)學習[準備的語句](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://us1.php.net/pdo)或[MySQLi](http:// us1.php.net/mysqli)。 [本文](http://php.net/manual/en/mysqlinfo.api.choosing.php)將幫助你決定。 – 2015-02-05 13:30:20

+2

'mysql_'函數確實被棄用,但是出現此警告時,您將不得不更新您的PHP而不是MySQL服務器。無論如何,我建議遷移到MySQLi或PDO並使用參數化查詢,而不是手動轉義用戶輸入。 – Sirko 2015-02-05 13:31:05

回答

1

它已被棄用,但你必須在Joomla的代碼庫沒有控制權,所以這是沒有意義的建議改變它。

我想你的php-mysql擴展在升級mysql的時候被卸載了。請嘗試

sudo apt-get install php5-mysql 

或根據您的軟件包管理器進行編輯。之後重新啓動php-fpm或apache。

編輯:看到你正在運行的PHP擴展,創建Web根文件夾中的文件,名爲info.php的,其唯一的內容應該是

<?php 
phpinfo(); 

加載在瀏覽器中的文件,尋找提到MySQL。

+0

已棄用警告?它說「調用未定義的函數」 – amenadiel 2015-02-05 13:32:50

+0

我的不好。剛纔看到他後來對棄用的假設。 – Sirko 2015-02-05 13:33:40

+0

Hi amenadiel。就像我說的新手一樣,我在哪裏運行該命令?在命令行中輸入 – mclaren25 2015-02-05 13:45:22