【问题标题】:how i can access connection variable in function [duplicate]我如何访问函数中的连接变量[重复]
【发布时间】:2015-10-16 15:57:43
【问题描述】:

我想在下面提到的课程中访问 $conn。

conn_file.php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$conn = new mysqli($servername,  $username,  $password);
if($conn->connect_error)
{
    die("Connection Failed :".$conn->connect_error);
}
?>

class.function.php

<?php
include_once 'conn_file.php';
class all_function
{
    public function something()
    {
        $data = $conn->real_escape_string("data");
        return $data;
    }
}
?>

上面给了我以下错误: 注意:未定义变量:第 7 行 class.function.php 中的 conn

致命错误:在第 7 行的 class.function.php 中的非对象上调用成员函数 real_escape_string()

【问题讨论】:

  • 将其作为参数传递?!
  • 或者用global声明
  • @u_mulder 不,这不是一个好主意。
  • 我知道,但是这里经常使用(

标签: php oop


【解决方案1】:

我建议您使用class 进行连接。示例:

在 conn_file.php 中

class DbConfig{
    public static $servername = "localhost";
    public static $username = "root";
    public static $password = "";

    public static function getCon(){
        $conn = new mysqli(self::$servername,  self::$username,  self::$password);

        if($conn->connect_error){
            die("Connection Failed :".$conn->connect_error);
        }

        return $conn;
    }
}

在 class.function.php 中

include_once 'conn_file.php';
class all_function
{
    public function something()
    {
        $conn = DbConfig::getCon();
        $data = $conn->real_escape_string("data");
        return $data;
    }
}

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多