При выводе одной записи из базы методом getById($id) возвращает bool(false) но метод getAll() работает нормально.
//файл db.php
class DB
{
public static function connect()
{
$dsn = sprintf('%s:host=%s;dbname=%s', 'mysql', 'localhost', 'blog');
return new PDO($dsn, 'root', '');
}
}
//файл postModel.php
class postModel
{
private $db;
private $nameTable = 'news';
public function __construct(PDO $db)
{
$this->db = $db;
}
public function getAll()
{
$sql = sprintf('SELECT * FROM %s', $this->nameTable);
$stmt = $this->db->query($sql);
return $stmt->fetchAll();
}
public function getById($id)
{
$sql = sprintf('SELECT * FROM %s WHERE id_new = :id', $this->nameTable);
$stmt = $this->db->prepare($sql);
$stmt->execute([
'id' => $id
]);
return $stmt->fetch();
}
}
Как вивожу на екран:
//файл index.php
include_once('db.php');
include_once('postModel.php');
$db = DB::connect();
$mPost = new postModel($db);
$news = $mPost->getById(1);
var_dump($news);
$sql = sprintf('SELECT * FROM %s WHERE id_new = :id', $this->table);
Тут с $this->table
напутали ($this->nameTable
должно быть).
Виртуальный выделенный сервер (VDS) становится отличным выбором
Изучаю symfony, читаю документациюВ разделе роуты https://symfony
Условие задачи на картинке, в своем коде не вижу ошибок, на 1 из 20 тестов проваливает, подскажите в чем ошибка?