【问题标题】:Call to undefined function mysqli_connect() persistent issue调用未定义函数 mysqli_connect() 持久性问题
【发布时间】:2016-10-22 03:07:23
【问题描述】:

此代码抛出以下错误:致命错误:调用未定义的函数 mysqli_connect()。我已经确定 extension=php_mysqli.dll 未注释,但错误仍然存​​在。我使用的是 PHP 5.6 版,下面的代码来自 Udemy 课程,所以我认为它没有错。有什么想法可以解决这个问题吗?此外,我已经用 wamp 和 xampp 在 2 台不同的 PC 上尝试了此代码。我想我还会提到我正在使用 Phpstorm 作为我的 IDE

$hostname = "localhost";
$username = "root";
$password = "";
$databasename = "tutorial";


$dbconnected = mysqli_connect($hostname, $username, $password);

$dbselected = mysqli_select_db($databasename, $dbconnected);

if($dbconnected) {
    echo "Mysql connection success";
    if ($dbselected) {
        echo "DB connection success";
    } else {
        echo "DB connection failure";
    }
}else {
        echo "Mysql connection failure";
}

【问题讨论】:

  • 尝试运行phpinfo(); (<?php phpinfo(); ?>) 看看是否加载了mysqli 扩展。
  • 我假设您在取消注释后重新启动了网络服务器?
  • 是的 mysqli 扩展已加载

标签: php mysqli


【解决方案1】:

我猜你的系统是基于窗口的。该命令帮助我了解安装了哪些 PHP 模块。

[centos@localhost sites]$ php -m | grep mysql
mysql
mysqli
mysqlnd
pdo_mysql

我冒昧地假设您的 PHP 扩展目录缺少修复未定义函数所需的 php_mysqli.dll 文件,因为该函数根本不存在。

对于基于窗口的系统,请尝试以下命令:

php -m

并且只列出结果集中包含“mysql”的模块。

您能否告诉我们您的系统是否缺少模块中的 mysqli 或扩展目录中的 php_mysqli.dll?

【讨论】:

  • 刚刚检查,文件 php_mysqli.dll 没有丢失:(
  • 我很抱歉。在这种情况下,您使用的是 WAMP 或 XAMPP 二进制文件。 PHP扩展目录的路径是什么,WAMPP/XAMPP的php.ini配置文件中没有注释php_mysqli.dll?
  • 是的,没有注释
  • 我不太确定问题出在哪里,但在查看了其他 stackoverflow 问题后,您可能希望按照thread 中的说明下载一体化软件包。
【解决方案2】:

原来在使用 Phpstorm 时,我下载了一个没有 php.ini 文件的 Php 版本....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2019-09-24
    相关资源
    最近更新 更多