Я пытаюсь назначить сеансовую переменную внутри класса, чтобы я мог использовать ее в запросе SQL. Я предполагаю, что я делаю что-то не так, поскольку это, кажется, не работает (не присваивая это).
class Records {
private $recordsTable = 'services';
public $account;
private $conn;
public function __construct($db){
$this->account = $_SESSION['account'];
$this->conn = $db;
}
public function listRecords(){
$sqlQuery = "SELECT * FROM ".$this->recordsTable." where account='".$this->account."'";
if(!empty($_POST["search"]["value"])){
$sqlQuery .= 'where(id LIKE "%'.$_POST["search"]["value"].'%" ';
$sqlQuery .= ' OR name LIKE "%'.$_POST["search"]["value"].'%" ';
$sqlQuery .= ' OR approved LIKE "%'.$_POST["search"]["value"].'%") ';
}
}
Если я жестко закодирую имя учетной записи в конструкции, как этот, запрос работает
$this->account = "AccountName";
Если я повторяю $_SESSION['account']
, он также печатает учетную запись
Он не работает, только если я использую его следующим образом
$this->account = $_SESSION['account'];
Когда я печатаю $sqlQuery
учетная запись становится пустой, когда я использую $this->account = $_SESSION['account'];
Итак, $_SESSION['account']
установлен правильно, и сам запрос тоже правильный
ОБНОВЛЕНИЕ:
Странно, хотя $_SESSION['account']
печатает имя учетной записи, если я начну сеанс, как предложил Вишал, учетная запись начнет печататься также внутри запроса