';无法访问空属性';php中的错误
我很困惑我在下面的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
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);