Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 尝试使用带有OOP连接属性的mysqli\u real\u escape\u字符串,但会发出警告_Php_Mysql_Oop - Fatal编程技术网

Php 尝试使用带有OOP连接属性的mysqli\u real\u escape\u字符串,但会发出警告

Php 尝试使用带有OOP连接属性的mysqli\u real\u escape\u字符串,但会发出警告,php,mysql,oop,Php,Mysql,Oop,我正在尝试OOP PHP,以下是启动数据库连接的代码: 这是林达旅行社的一部分。但在本教程中,导师使用的是mysql函数,这些函数给出了一条不推荐使用的消息,因此我尝试将所有这些转换为mysqli,但函数mysqli_real_escape_string()给出了警告 警告:mysqli_escape_string()要求参数1为mysqli,在第38行的{file path}中给出null 我不知道出了什么问题,我以前用过这个函数,以过程的形式,但是在OOP中,它不能正常工作。非常感谢您的帮助

我正在尝试OOP PHP,以下是启动数据库连接的代码:

这是林达旅行社的一部分。但在本教程中,导师使用的是mysql函数,这些函数给出了一条不推荐使用的消息,因此我尝试将所有这些转换为mysqli,但函数mysqli_real_escape_string()给出了警告

警告:mysqli_escape_string()要求参数1为mysqli,在第38行的{file path}中给出null

我不知道出了什么问题,我以前用过这个函数,以过程的形式,但是在OOP中,它不能正常工作。非常感谢您的帮助,谢谢

<?php
require_once("config.php");

class MySQLDatabase{

private $connection;

function __contruct(){
    $this->open_connection();
    }

public function open_connection(){
    $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
    if(mysqli_connect_errno()){
        die("Database connection failed: " . mysqli_connect_error());
        }
    }

public function close_connection(){
    if(isset($this->connection)){
        mysqli_close($this->connection);
        unset($this->connection);
        }
    }

public function query($sql){
    $result = mysql_query($sql, $this->connection);
    if(!$result){
        die("Database Query Failed: " . mysql_error());
        }
        return $result;
    }

function mysql_prep($value){
    $magic_quotes_active = get_magic_quotes_gpc();
    if($magic_quotes_active){
        $value = stripslashes($value);
        }
        $value = mysqli_real_escape_string($this->connection, $value);
        return $value;
    }

 private function confirm_query($result_set){
    if(!$result_set){
        die("Database Query Failed: " . mysql_error());         
        }
    }

}

$database = new MySQLDatabase();
?>

配置文件是:

<?php
//Database Constants
defined('DB_SERVER') ? NULL : define("DB_SERVER", "localhost");
defined('DB_USER') ? NULL : define("DB_USER", "root");
defined('DB_PASS') ? NULL : define("DB_PASS", "");
defined('DB_NAME') ? NULL : define("DB_NAME", "photo_gallery");
?>

我正在尝试运行的文件:
if(isset($database)){
echo "true";
} else{
    echo"false";
    }
echo "<br>";
echo $database->mysql_prep("It's Working?<br>");
?>
if(isset($database)){
呼应“真”;
}否则{
呼应“假”;
}
回声“
”; echo$database->mysql\u prep(“它正在工作?
”; ?>
您在构造函数名称中有一个输入错误(因此在创建MySQLDatabase实例时,在代码中不会调用它)。应该是:

function __construct(){
    $this->open_connection();
}