Попытка получить свойство не-объекта в PDO

Прежде всего, я знаю, что это может быть дублирующий вопрос, но я искал, например, этот вопрос, но я не мог понять, как это работает.

У меня есть этот код …

<?php $host = "localhost"; $user = "root"; $pass = "Passw0rd"; $database = "test"; $db = new PDO("mysql:host={$host};dbname={$database}", $user, $pass); $stmt = $db->prepare("SELECT * FROM patient WHERE fname LIKE :q OR lname LIKE :q"); $stmt->bindValue(':q', '%'.$_GET['q'].'%'); $stmt->execute(); while ( $row = $stmt->fetch() ) { echo '<a href="members2.php?view=' . $row->id . '" target="_blank">' . $row->fname . ' ' . $row->lname . '</a><br/>'; } ?> 

И я получаю эту ошибку

 Trying to get property of non-object in E:\xampp\htdocs\ptixiaki\livesearch.php on line 13 

Строка 13 – это строка …

 echo '<a href="members2.php?view=' . $row->id . '" target="_blank">' . $row->fname . ' ' . $row->lname . '</a><br/>'; 

Можете ли вы помочь мне исправить это

Вы должны использовать fetchObject() вместо обычного fetch() чтобы указать, что вы хотите обрабатывать строку как объект (и использовать его свойства), а не как массив.