首页 > 解决方案 > php数据库conntion echo混淆以下代码

问题描述

在我的 php 中,我从其他 php 调用数据库连接,但我在这里感到困惑,它不回显当前 php 回显

这是我的 db.php 代码

<?php
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
class Database {
    private $con;
    public function connect (){
        include_once("constant.php");
        $this->con = new Mysqli(HOST,USER,PASS,DB);
        if ($this->con->connect_error) {
            echo"connect fails";
            //return $this->con;    
        }else{echo "connection success";}
        //return "DATABASE_CONNECTION_FAIL";

    }
}
$db = new Database();
$db->connect();
?>

这是我的 user.php 代码

<?php
/**
 * user class for account creation and login purpose
 */
class User {
    private $con;
    function __construct(){

        include_once("../database/db.php");  
        $db = new Database();
        $this->con = $db->connect();
        if($this->con) {
        echo "connect databases";
      }
    }


}
$obj = new User();
?>

在我的浏览器中我调用 user.php 但我得到了 echo 作为connection success connection success它的重复 2 次但在 user.php 中 echo 不显示

我期望的回声是connect databases

在此处输入图像描述

标签: phpmysqli

解决方案


连接成功后。你应该返回连接。

在 db.php 代码下面试试这个

<?php
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
class Database {

  private $con;

  public function connect() {
    include_once("constant.php");
    $this->con = new Mysqli(HOST, USER, PASS, DB);
    if ($this->con->connect_error) {
      echo"connect fails";
    }
    else {
      // return successful connection
      return $this->con;
    }
  }

}

$db = new Database();
$db->connect();
?>

推荐阅读