我有以下问题:
public function row2Partner($row){
echo $row->PartnerID;
}
public function main(){
$query = "SELECT PartnerID, PartnerName FROM Partner";
$result = mysql_query($query);
$this->row2Partner(mysql_fetch_object($result));
}
这给了我 row2Partner()
中的错误:
试图获取非对象的属性
但是 $row
是一个对象!如果我这样做
echo $row->PartnerID
在主函数中,它起作用了。
有什么想法吗?
谢谢, 马丁
最佳答案
如果您的结果返回多行,则您的对象将是多维的。如果你只想回应第一个,我很确定你可以做这样的事情:
public function row2Partner($row){ echo $row[0]->PartnerID; }
如果您只查找一个结果,我也会将查询限制为一个...
SELECT PartnerID, PartnerName FROM Partner LIMIT 1
如果你想回显所有行(在多行的情况下)结果,你可以这样做:
public function row2Partner($row){
foreach($row as $result) {
echo $result->PartnerID;
}
}
希望对您有所帮助。
附言 作为旁注,我倾向于在处理 MySQL 结果时使用关联数组——这对我来说更有意义。在这种情况下,您只需这样做:
mysql_fetch_assoc($result)
关于php - 将 mysql_fetch_object() 的结果传递给函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/777692/