致命错误:调用未定义函数mysql_connect()
我已经build立了PHP,MySQL和Apache。 localhost()
为PHP,它运作良好。 但是在我下载MySQL之后,它会报告:
致命错误:调用未定义函数mysql_connect()
我该如何解决这个问题?
打开你的terminal并运行下面的命令。
sudo apt-get install mysql-server
如果你正在运行PHP,你还需要安装MySQL模块5:
sudo apt-get install php5-mysql
使用“mysqli_connect”
$con = mysqli_connect("127.0.0.1","root","pass","your_database");
它会工作,我解决了我的问题。
如果升级到PHP 7.0后出现此错误,那么您使用的是不推荐使用的库。
mysql_connect – 打开一个到MySQL服务器的连接
警告
这个扩展在PHP 5.5.0中被弃用,并且在PHP 7.0.0中被删除。 应该使用MySQLi或PDO_MySQL扩展。
更多这里: http : //php.net/manual/en/function.mysql-connect.php
validation您的PHP安装是否已经使用mysql支持编译。 创build一个包含<?php phpinfo(); exit(); ?>
的testing网页<?php phpinfo(); exit(); ?>
<?php phpinfo(); exit(); ?>
<?php phpinfo(); exit(); ?>
并将其加载到浏览器中。 searchMySQL的页面。 如果你没有看到它,你需要重新编译支持MySQL的PHP,或者重新安装内置的PHP包
PHP.INI
检查你是否忘记启用下面的选项(加载其他模块):
; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "ext"
我在RHEL6上遇到了同样的问题。 事实certificate,/etc/php.d中的mysql.ini文件只有一个模块名,但需要一个完整的path名。 在我的RHEL6系统上,工作条目是:
; Enable mysql extension module extension=/usr/lib64/php/modules/mysql.so
修改文件后,我重新启动Apache,一切工作。
我正在使用Windows 8通过更改环境variables解决了这个问题
请按照下列步骤操作:打开我的计算机属性 – >高级系统设置 – >环境variables。 在'系统variables'下,select'path'并点击'edit'在'variable value'中,添加'C:\ php;' 或PHP安装的path。
单击确定并应用设置并重新启动系统。 它应该工作。
我的解决scheme是在这里(我只需要从PHPIniDir 'c:\PHP\'
)删除最后一个斜杠(NB:反斜杠): 致命错误:调用未定义的函数mysql_connect()不能解决
检查你的PHP版本是否安装了mysqli模块
$ ls /etc/php/7.0/mods-available/mysql* /etc/php/7.0/mods-available/mysqli.ini /etc/php/7.0/mods-available/mysqlnd.ini
启用该模块
$ sudo phpenmod mysqli
此代码可以帮助你
<?php $servername = "localhost"; $username = "root"; $password = ""; $con = new mysqli($servername, $username, $password); ?>
但是改变“服务器名称”,“用户名”和“密码”
这是一个快速修复:
所有的专业人士可能会恨我这个答案。 但是我得到了同样的错误在服务器上: 致命错误:未捕获错误:调用未定义的函数mysql_connect()使用PHP 7.没有时间重写所有的mysql代码,所以如果任何人需要它快速,临时修复在CPANEL中寻找PHPconfiguration ,并将该帐户的版本更改为PHP 5.4而不是PHP 7。然后代码工作正常,没有上述错误。
解决scheme可能是使用像这样的适配器函数来开始在整个应用程序中使用mysqli
而不是mysql
:
if (!function_exists('mysql_connect')) { function mysql_connect($host = '', $user = '', $password = '', $database = '', $port = 0, $socket = '') { return mysqli_connect($host, $user, $password, $database, $port, $socket); } } if (!function_exists('mysql_select_db')) { function mysql_select_db($link, $dbname) { mysqli_select_db($link, $dbname); } }
当你在你的代码行中使用mysql_connect
时候,问题就出现了,所以把它添加到mysqli_cOnnect
就可以解决问题了。
你也必须在整个代码行中使用mysqli
,否则问题将再次出现。
例如mysql_select_db
将会是mysqL_select_db
。
这是select数据库。
谢谢,希望这有助于