繁体   English   中英

PHP-从另一个类调用数据库类

[英]PHP - Calling database class from another class

我最近在代码中遇到错误:

PHP Parse error:  syntax error, unexpected '$connection' (T_VARIABLE), expecting function (T_FUNCTION) in

从我搜索过的问题来看,问题不在于之前未设置公共/私有/受保护,还是没有在构造函数中创建数据库连接。

数据库连接类代码:

 class databaseConnection {


    //Database information
    protected $mysqliUser = "";
    protected $mysqliHost = "localhost";
    protected $mysqlipass = "";
    protected $mysqlidbname = "";
    public $con;


    public function __construct() {
        $this->con = new mysqli($this->mysqliHost,$this->mysqliUser,$this-
        >mysqlipass,$this->mysqlidbname); 

    }

}

收到错误的类代码片段:

private $conn;
    $conn = new databaseConnection;

非常感谢您为我指明正确的方向。

私有声明上方只是类创建类createSession

在这种情况下, $conn = new databaseConnection; 需要可见性,或者应该在方法中。 在不查看所有类和奇数缩进的情况下很难说出哪个。

因此,将其放在方法所属的方法中(也许是构造函数?),或将其设置为私有,受保护或公共(无论打算使用哪种方法)。

看一下这个。

真的行..

connect.php

class DBConnect {
    private static $connection;
    private static $host = "localhost";
    private static $user = "root";
    private static $pwd = "";
    private static $dbname = "yourDBName";

    public static function connect() {
        $host = self::$host;
        $user = self::$user;
        $pwd = self::$pwd;
        $dbname = self::$dbname;

        self::$connection = new mysqli($host, $user, $pwd, $dbname) or die('Error connecting..');
        return self::$connection;
    }
}

myclass.php

require_once('connect.php');

class MyClass {
    private $connObj;

    public function __construct() {     
        $this->connObj = DBConnect::connect();
    }

    public function select() {
        $conn = $this->connObj;
        $sql = "SELECT * FROM table_name";

        $query = $conn->query($sql);
        $res = $query->fetch_assoc();
        // your code..
    }
}

$obj = new MyClass();
$obj->select();

希望,此代码段对您有效。 :) :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM