不知道如何提出这个问题。
我正在设置类来处理我的数据库交互,并且有一个奇怪的传递变量的交互。我一定错过了什么。
我有一个班级DataBaseAPI
我有一个函数QueryDB($value)
,将由其他函数调用。但是我在另一个函数中声明$value
时遇到了问题。例如:
作品
include_once('DataBaseAPI.php');
$DB = new DataBaseAPI();
$test = $DB->QueryDB('id');
echo $test;
不起作用
include_once('DataBaseAPI.php');
$DB = new DataBaseAPI();
$test = $DB->getId();
echo $test;
在DataBaseAPI.php
class DataBaseAPI {
public function getId(){
//the same function defined the same way but needing to use $this
$this->QueryDB('id');//seems like a waste here but is for ease of use later on
}
public function QueryDB($value){
echo $value; //echo's id
global $conn;
$token = '7ci4f8ykfik3ndzufksy1dp16x3na4'; //Test Token not a real token
$doesExists = "SELECT $value FROM user_info WHERE token='$token'";
$existsResult = mysqli_query($conn, $doesExists);
$check = $existsResult->fetch_assoc();
return $check[$value];
}
}
我甚至用$value
回声QueryDB($value)
中的id
来回调,就像我直接调用函数一样。
我只是不明白为什么第一种方法有效但第二种方法没有,但我仍然以同样的方式调用它。就在另一个功能里面。
答案 0 :(得分:1)
返回getId()
的结果,以便存储在$test
中。做
public function getId(){
return $this->QueryDB('id');//seems like a waste here but is for ease of use later on
}
而不是
public function getId(){
$this->QueryDB('id');//seems like a waste here but is for ease of use later on
}