我在PHP PDO中有以下定义来准备和执行查询。查询已执行,但最后我收到消息:注意:尝试获取非对象的属性。我已经尝试使用 FETCH_COLUMN ,但是相同。有人可以帮帮我吗?
public function GetIDbyname($name){
try{
$stm = $this->pdo
->prepare("SELECT id FROM prozess WHERE name = ?");
$stm->execute(array($name));
$r = $stm->fetchAll(PDO::FETCH_OBJ);
return $r->id;
} catch (Exception $e){
die($e->getMessage());
}
}
答案 0 :(得分:1)
fetchAll
会返回多维数组中的所有行。 $r
是对象数组,而不是对象本身。获得结果的正确方法是$r[0]->id
。或者:
如果您只想获取一行,请使用$stm->fetch()
。