2015-02-05 125 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