Php 未捕获错误:调用成员函数buildUserData()
好的,问题就在这里,我正在尝试制作一个奇特的登录系统,它将用户数据存储在一个php类中,以便易于访问。但是,当我尝试调用将生成用户数据的函数时,它会抛出此异常 致命错误:未捕获错误:调用C:\xampp\htdocs\cfgs\submit\login.php中字符串上的成员函数buildUserData():38堆栈跟踪:#0{main}在第38行的C:\xampp\htdocs\cfgs\submit\login.php中抛出 下面是userData类代码Php 未捕获错误:调用成员函数buildUserData(),php,mysqli,Php,Mysqli,好的,问题就在这里,我正在尝试制作一个奇特的登录系统,它将用户数据存储在一个php类中,以便易于访问。但是,当我尝试调用将生成用户数据的函数时,它会抛出此异常 致命错误:未捕获错误:调用C:\xampp\htdocs\cfgs\submit\login.php中字符串上的成员函数buildUserData():38堆栈跟踪:#0{main}在第38行的C:\xampp\htdocs\cfgs\submit\login.php中抛出 下面是userData类代码 <?php cla
<?php
class userData {
public $accId = null;
public $username = null;
public $rank = null;
public $vip_rank = null;
public $email = null;
public $auth = null;
function buildUserData($id) {
$result = $db->query("SELECT * FROM users WHERE id = '$id'");
while ($row = $result->fetch_assoc()) {
$this->accId = $id;
$this->username = $row['username'];
$this->rank = $row['rank'];
$this->vip_rank = $row['rank_vip'];
$this->email = $row['mail'];
$this->auth = $row['auth'];
}
}
}
?>
初始化$user时,一切正常:
$user = new userData;
稍后将覆盖该变量:
$user = $db->escapestring($_POST['user']);
其中一个需要一个新名称,您有$user=$db->escapestring($\u POST['user'])
这将替换global.php
中的$user
变量。更改该变量名称。
<?php
class database {
public $host = "_";
public $user = "_";
public $pass = "_";
public $db = "_";
public $conn = null;
function connect() {
return mysqli_connect($this->host, $this->user, $this->pass, $this->db);
}
function query($sql) {
return mysqli_query($this->conn, $sql);
}
function escapestring($string){
return mysqli_real_escape_string($this->conn, $string);
}
function getrows($sql){
return mysqli_num_rows($sql);
}
}
?>
$user = new userData;
$user = $db->escapestring($_POST['user']);