Ошибка разбора: синтаксическая ошибка, неожиданное '$_GET' (T_VARIABLE) в
Когда я пытаюсь загрузить "идентификатор" из URL, кажется, что он не работает. Есть причина почему? Заранее спасибо за помощь!
<?php
class Poll{
private $db;
private $presidentid = $_GET['id'];
public function __construct($db){
$this->db = $db;
}
public function getPollData(){
$sql = "SELECT poll_question, yes, no FROM poll WHERE poll_id = $presidentid";
$statement = $this->db->prepare($sql);
$statement->execute();
$pollData = $statement->fetchObject();
return $pollData;
}
}
?>
2 ответа
Решение
Мы не помещаем переменную в подготовленный запрос.
$sql = "SELECT poll_question, yes, no FROM poll WHERE poll_id = :id";
$statement = $this->db->prepare($sql);
$statement->bindParam(':id', $this->presidentid);
$statement->execute();
private $presidentid = $_GET['id'];
Замените вышеуказанную линию на нижнюю, она будет работать нормально,
class Poll{
private $db;
private $presidentid;
public function __construct($db){
$this->db = $db;
$this->presidentid = $_GET['id'];
}
Я объясню, почему вы не должны использовать как private $presidentid = $_GET['id']; как только ваша проблема решена.