简体   繁体   English

如何在php中的另一个类中导入数据库连接类

[英]How to import database connection class in another class in php

I am going to import DatabaseConnector class in Controller class. 我要在Controller类中导入DatabaseConnector类。 DatabaseConnector class contains database connection queries. DatabaseConnector类包含数据库连接查询。 Both classes are different php file. 这两个类都是不同的php文件。

Here is my code. 这是我的代码。

DatabaseConnector: DatabaseConnector:

class DatabaseConnector
{
    public $con;
    //function for getting connected to database
    public function getConnection()
    {
        $con=mysqli_connect("localhost","root","","abcd");
        // Check connection
        if (mysqli_connect_errno()) {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        return $con;
    }
    public function closeConnection()
    {
        mysqli_close($con);
    }
}

Controller: 控制器:

include "database_connector.php";
    $dc = new DatabaseConnector();
    $con = $dc->getConnection();
class Controller
{

    public function __construct(){

    }

    public function insertData()
    {

        $name = "Abcde";
        $sql = "insert into user_details values('".$name."')";
        mysql_query($con, $sql);
    }


}

Where i am wrong in this code. 我在这段代码中错了。 it shows me error on mysql_query($con,$sql): $con in undefined variable; 它显示mysql_query($ con,$ sql)上的错误:$ con in undefined variable; and mysql_query() requires two parameters 和mysql_query()需要两个参数

Please help me. 请帮我。

Your $con is not in the class. 您的$con不在课程中。

include "database_connector.php";
class Controller
{
    protected $con;

    public function __construct(){
        $dc = new DatabaseConnector();
        $this->con = $dc->getConnection();
    }

    public function insertData()
    {
        $name = "Abcde";
        $sql = "insert into user_details values('".$name."')";
        mysqli_query($this->con, $sql);
    }
}

I don't test the code, but this should work. 我没有测试代码,但这应该可行。

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

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