Ошибка разбора в запросе SQL, определенном как свойство класса PHP

Когда я определяю SQL-запрос ниже как свойство класса PHP, я получаю ошибку разбора. Если я вместо этого определю тот же запрос внутри одного из методов класса, я не получу ошибку. Может кто-нибудь сказать мне, как я могу правильно определить это как свойство класса PHP? Спасибо.

У меня есть другие запросы SQL, определенные как свойства, которые работают нормально, но они не содержат никаких переменных.

private $querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";

0

Решение

Вы не можете использовать переменную в объявлении свойства, особенно локальную в нелокальном контексте (также $this->healthDate не будет работать тоже). Одним из способов может быть объявление значения свойства в вашем __construct():

public function __construct()
{
$healthDate = '2015-09-27';
$this->querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";
}
1

Другие решения

private $querySelectDateId;

public function setSelectDateId($healthDate) {
$this->querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";
}

public function getSelectDateId() {
return $this->querySelectDateId ;
}
0

По вопросам рекламы [email protected]