Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中调用类中的连接变量?_Php_Mysqli - Fatal编程技术网

如何在php中调用类中的连接变量?

如何在php中调用类中的连接变量?,php,mysqli,Php,Mysqli,我有我的connection.php文件 $conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_DB); <?php include('system/includes/config.php'); require_once('system/classes/profile.php'); 我把这个文件包括在我的index.php文件中。我把一些其他类文件包括在index.php文件中 $conn = mysqli_connect(DB_HOS

我有我的connection.php文件

$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_DB);
<?php
include('system/includes/config.php');
require_once('system/classes/profile.php');
我把这个文件包括在我的index.php文件中。我把一些其他类文件包括在index.php文件中

$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_DB);
<?php
include('system/includes/config.php');
require_once('system/classes/profile.php');

您可以为函数设置一个参数,使其独立于其他代码。只是

function getProfileData($conn){

$conn
变量解析为函数中的参数:

function getProfileData($conn){
    $sql    = "SELECT * FROM profile";
    $result = mysqli_query($conn, $sql) or die(mysqli_error());
    return $result; 
}
如上所述使用您的连接

一种规范的方法是将其设置为类变量

<?php
class Profile{
    public function __construct($mysqli)
    {
        $this->db = $mysqli;
    }
    function getProfileData(){
        $sql    =   "SELECT * From profile";
        $result = $this->db->query($sql);
        return $result; 
    }
}

您可以将其作为参数传递。为类创建一个构造函数,将连接传递给它,然后应用于类中的一个私有变量。@PhiterFernandes你能给我发一个答案吗;)ahahai把我的评论变成了答案:)你有没有见过一个现实生活中的应用程序真的使用这种方法,将数据库连接变量作为参数发送到每个方法中?@YourCommonSense-huh?谢谢,什么是$mysqli以及如何定义它?它是连接中的我的连接。php这是您的$conn变量如果我直接将连接值传递给mysqli_query()并与您的答案一起使用,会有什么区别。抱歉,出于学习的目的,我的答案是OOP,而传递值是一个过程性的意大利面条。此外,在我的回答中,编写代码所需的时间更少。我得到了一个警告:Profile::\uu construct()缺少参数1,在。。注意:未定义变量:mysqli in。。。致命错误:在中对null调用成员函数query()