致命错误:调用未定义的函数mysqli_connect()

Emi*_*Emi 35 php mysql ftp

2天,我正试图解决这个问题,但遗憾的是没有结果.让我告诉你我关于这个问题的故事.我在网站上建立了一个应用程序,该应用程序处理评论.但是,我试图将它放在另一个站点上,我从旧站点复制了php文件,sql文件,并将它们移动到新站点(它们位于不同的FTP服务器上).当我试图从应用程序转到页面时,我收到此致命错误:

致命错误:调用未定义的函数mysqli_connect()

我写的连接数据库的代码就是这个(隐藏凭证):

$con = mysqli_connect("","*the_name*","*the_pass*","*the_database*");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
Run Code Online (Sandbox Code Playgroud)

为什么我会收到错误?它适用于旧服务器,代码我认为这不是问题,因为它适用于localhost,而新服务器则不适用.谁能帮我?

Dav*_*yer 28

如果您自己托管服务器,请在php.ini文件中删除扩展名extension = php_mysqli.dll前面的分号

  • 或者`extension=mysqli`。 (4认同)

Zor*_*ran 19

对于CentOS,请执行:

sudo yum install php-mysqli
Run Code Online (Sandbox Code Playgroud)


Joã*_*ira 15

只需这样做

sudo apt install php-mysqli

它完美无缺,并且与版本无关

  • 它有效,在我的情况下,我必须运行 sudo apt-get install php5.6-mysql 然后重新启动 apache sudo service apache2 restart (2认同)

Reh*_*mat 9

在Ubuntu上我不得不安装php5 mysql扩展.

apt-get install php5-mysql

  • 另外,如果您使用的是Ubuntu/Debian,请在"/etc/php5/apache2/php.ini"文件中检查扩展名"extension = mysqli.so"是否已启用(取消注释).然后重启服务器"service apache2 restart". (2认同)

Jah*_*mic 7

如果您已安装该模块并正确设置 PHP.INI 文件,请检查您的 apache 错误日志是否有类似以下内容:

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\\php\\ext\\php_mysqli.dll' - The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您的扩展目录并不是您想象的那样。您可能需要明确设置它,如下所示:

extension_dir="C:\xampp\php\ext"
Run Code Online (Sandbox Code Playgroud)


小智 6

默认情况下没有使用php扩展时发生.在您的php.ini文件中,更改
;extension=php_mysql.dll

extension=php_mysql.dll.

**如果此错误记录,则添加此dll文件的路径,例如,
extension=C:\Php\php-???-nts-Win32-VC11-x86\ext\php_mysql.dll

php_mysqli.dll和执行相同操作php_pdo_mysql.dll.再次保存并运行代码.

  • 也重新启动Apache。 (2认同)

doa*_*ave 5

我的在 centos7 上的 php7 有点不同。

在/etc/php.ini中

; 扩展名=mysqli

扩展名=mysqli


Utk*_*xit 1

没有错误,但是你的机器上没有安装mysqli PHP扩展。请联系您的服务提供商来解决此问题。