注意:尝试获取非对象的属性

时间:2012-01-14 22:02:31

标签: php

我在这里遇到这个问题。我想通过从另一个表中获取其项目ID来显示项目的名称。以下是代码
当我尝试使用“。$ obj [0] - > name”显示名称时,我遇到了问题。“在for循环的第一行。

$objClass = array(); 
$objClass1 = array();
$obj= array(); 
$object = new product();
$objLogic = new customerLogic();
$objLogic1 = new customerLogic(); 
$objL= new productLogic();
$objClass[0]= new stdClass;
$objClass1[0]= new stdClass;
$obj[0]= new stdClass;
$objClass[0]->custId = $_GET['id'];
$objClass1[0]->custId = $_GET['id'];

$objClass = $objLogic->getSaleRecord_customer($objClass[0]);
$objClass1 = $objLogic1->getName_customer($objClass1[0]);
$object->itemId = $objClass[0]->itemId;
$obj =$objL->getName_product($object->itemId); 
// echo $objClass1[0]->firstName;
$i=1;
foreach($objClass as $customer ) {
    echo "<tr><td class=\"inner_text\">$customer->reciept</td><td align=\"center\">".$obj[0]->name."</td>";
    echo "<td align=\"center\">".$objClass1[0]->firstName."&nbsp;".$objClass1[0]->lastName."</td><td align=\"center\">";
    echo "$customer->weight</td>
    <td align=\"center\">$customer->costPerKg</td>
    <td align=\"center\">$customer->cost</td>
    <td align=\"center\">$customer->payed</td>
    <td align=\"center\">$customer->remaining</td></tr>";
    $i++;
}
?>
</table>

2 个答案:

答案 0 :(得分:2)

您是否完全确定$objL->getName_product($object->itemId);会产生一个对象?

你可以验证吗?

我认为$objL->getName_product($object->itemId);的返回值不是您认为的。

您可以通过print_r($objL->getName_product($object->itemId));进行检查,它会打印出该功能输出的内容。

或者您可能无意中覆盖了$obj的内容?

答案 1 :(得分:0)

您正在覆盖$obj

$obj =$objL->getName_product($object->itemId);