Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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_Oop_Mysqli_Php 5.5 - Fatal编程技术网

';无法访问空属性';php中的错误

';无法访问空属性';php中的错误,php,oop,mysqli,php-5.5,Php,Oop,Mysqli,Php 5.5,我很困惑我在下面的php代码中犯了什么错误。尽管如此,我在代码上查看了很多次,但找不到为什么会出现此错误“无法访问空属性” class DBTest{ //declare variables private $servername = "localhost"; private $username = "root"; private $password = ""; private $database = "avn_test"; private static $conn; private $resu

我很困惑我在下面的php代码中犯了什么错误。尽管如此,我在代码上查看了很多次,但找不到为什么会出现此错误“无法访问空属性”

class DBTest{
//declare variables
private $servername = "localhost";
private $username = "root";
private $password = "";
private $database = "avn_test";
private static $conn;
private $results;

//constructor
public function __construct(){
self::$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();}
} //close constructor

public function executeQuery($query='') {
if(!empty($query)){
$query = self::$conn->real_escape_string($query);
此行出错:

$this->results=self::$conn->query($query)或die(“数据库中的错误 连接“.self::$conn->$error)


$conn
功能中不需要
$

self::$conn replace with self::conn
                           ^^^^^^ 
在这方面:

$this->results = self::$conn->query($query) or die("Error in database connection".self::$conn->$error);
self::$conn->$error
替换为
self::$conn->error


访问静态属性时,
$
是必需的,但实例属性不需要。

请用箭头或类似箭头指出错误行。请在该行上显示错误和黑色,或在将发生错误的位置进行注释。他无论如何都不需要该行,因为连接将自动关闭。还有
real\u escape\u字符串($query)
??不仅此函数已被弃用,而且它的使用方式完全错误。请使用
self::conn
而不是
self::$conn
$conn是静态的。那么,我怎样才能只使用self::connI没有检查,但是为什么在
\uu destruct
中不需要它,而在其他地方需要它呢?
$this->results = self::$conn->query($query) or die("Error in database connection".self::$conn->$error);