Когда я определяю SQL-запрос ниже как свойство класса PHP, я получаю ошибку разбора. Если я вместо этого определю тот же запрос внутри одного из методов класса, я не получу ошибку. Может кто-нибудь сказать мне, как я могу правильно определить это как свойство класса PHP? Спасибо.
У меня есть другие запросы SQL, определенные как свойства, которые работают нормально, но они не содержат никаких переменных.
private $querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";
Вы не можете использовать переменную в объявлении свойства, особенно локальную в нелокальном контексте (также $this->healthDate
не будет работать тоже). Одним из способов может быть объявление значения свойства в вашем __construct()
:
public function __construct()
{
$healthDate = '2015-09-27';
$this->querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";
}
private $querySelectDateId;
public function setSelectDateId($healthDate) {
$this->querySelectDateId = " SELECT healthDateId FROM kidsDate WHERE healthDate = '$healthDate' ";
}
public function getSelectDateId() {
return $this->querySelectDateId ;
}