【问题标题】:Issue connecting to MySQL with PHP使用 PHP 连接到 MySQL 的问题
【发布时间】:2019-10-03 02:58:28
【问题描述】:

我正在尝试使用 PHP 连接到 MySQL,但我不断收到以下错误:“mysqli::__construct(): (HY000/2002): No such file or directory in /Users/markjonathas/Documents/bar/database_connection .php on line 9" 我已经下载了 MAMP,我使用的是 PHP 7.3.1 和 MySQL 版本 8.0.16。

我尝试下载 Sequel Pro,但是当我尝试连接到数据库时出现以下错误:“MySQL 说:无法加载身份验证插件 'caching_sha2_password':dlopen(/usr/local/lib/plugin/ cache_sha2_password.so, 2): 找不到图片"

//code for database_connection.php:
<?php

    $servername = "127.0.0.1:3306";
    $username = "root";
    $password = "-------";
    $database = "barDB";

    function db_connect() {
        $connection = new mysqli($servername, $username, $password, 
$database);
        return $connection;
    }

    function db_disconenct() {
        if(isset($connection)) {
            $connection->close();
        }
    }
?>

//code for connecting to database_connection.php:

<?php
        require_once("database_connection.php");
        $db = db_connect();
?>

【问题讨论】:

标签: php mysql mysqli


【解决方案1】:

创建一个文件并将其命名为 init.php 或任何您想要的名称。

<?php

    $db_name = "barDB";
    $mysql_user = "root";
    $mysql_pass = "-------";
    $server_name = "127.0.0.1:3306";

    $con = mysqli_connect($server_name, $mysql_user, $mysql_pass, $db_name);

    if(!$con){
        echo "Server Error";
    }else{

    }

?>

【讨论】:

    【解决方案2】:

    要访问全局变量,您必须将它们声明为全局变量:

    function db_connect() {
        global $connection, $servername, $username, $password, $database; // <<<<<<<<
        $connection = new mysqli($servername, $username, $password, $database);
        return $connection;
    }
    
    function db_disconenct() {
        global $connection; // <<<<<
        if(isset($connection)) {
            $connection->close();
        }
    }
    

    阅读 PHP 文档了解详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 2020-11-20
      • 1970-01-01
      • 2020-03-18
      • 2020-01-22
      • 2017-07-13
      • 2011-09-20
      相关资源
      最近更新 更多