Не знаю, как задать этот вопрос.Невозможно использовать переменную, объявленную в функции внутри другой функции
Я работал над настройкой класса для обработки взаимодействия с базой данных и имел странное взаимодействие проходящих переменных. Я должен что-то упустить.
У меня есть класс 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
так же, как при вызове f прямо.
Я просто не понимаю, почему первый метод работает, но второй метод этого не делает, но я все равно называю его таким же образом. Просто внутри другой функции.
о. haha сделать с тех пор, когда кто-то сказал это. Спасибо за быстрый ответ! – bigbaddevil7