Прежде всего, я знаю, что это может быть дублирующий вопрос, но я искал, например, этот вопрос, но я не мог понять, как это работает.
У меня есть этот код …
<?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()
чтобы указать, что вы хотите обрабатывать строку как объект (и использовать его свойства), а не как массив.