При выводе одной записи из базы методом getById($id) возвращает bool(false)

183
08 апреля 2019, 02:10

При выводе одной записи из базы методом 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);
Answer 1
$sql = sprintf('SELECT * FROM %s WHERE id_new = :id', $this->table); 

Тут с $this->table напутали ($this->nameTable должно быть).

READ ALSO
Зачем в symfony метод generateUrl

Зачем в symfony метод generateUrl

Изучаю symfony, читаю документациюВ разделе роуты https://symfony

195
Не пойму, что значит <=

Не пойму, что значит <=

Просвятите меня, пожалуйста :)

160
Покупка Конфет Задача c++ [закрыт]

Покупка Конфет Задача c++ [закрыт]

Условие задачи на картинке, в своем коде не вижу ошибок, на 1 из 20 тестов проваливает, подскажите в чем ошибка?

396
Помогите поймать ошибку

Помогите поймать ошибку

Кратко: Есть 3 функцииОни запускаются в разных конфигурациях: 1

187