试图在PDO中获取非对象的属性

时间:2015-04-08 15:22:59

标签: php pdo

首先,我知道这可能是一个重复的问题,但我做了一些搜索示例this question,但我无法理解它是如何工作的。

我有这段代码......

<?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/>';

你能帮我解决一下吗

1 个答案:

答案 0 :(得分:2)

您必须使用fetchObject()而不是常规fetch()来指定您希望将行视为对象(并使用其属性),而不是数组。