在PDO :: FETCH_OBJ之后无法访问PHP stdClass属性

时间:2011-02-16 16:27:14

标签: php pdo

我已成功连接到IBM i5以及以下几行:

$stmt = $dbh->query('select fpdesc from mylib.myfile');
$row = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($row);
echo '<br>$row[FPDESC] returns '.$row[FPDESC];

产生以下两行输出:

array(1) { 
  ["FPDESC"]=> string(30) "ATLANTA " 
}

$row[FPDESC] returns ATLANTA

到目前为止一切顺利。但是以下几行:

$stmt = $dbh->query('select fpdesc from mylib.myfile');
$obj = $stmt->fetch(PDO::FETCH_OBJ);
var_dump($obj);
echo '<br>$obj->FPDESC returns '.$obj->FPDESC;

产生以下两行输出:

object(stdClass)#4 (1) { 
    ["FPDESC"]=> string(30) "ATLANTA " 
}

$obj->FPDESC returns

为什么我无法回显FPDESC属性?我唯一能想到的就是确定范围,但我真的对这个问题感到茫然。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的密钥名称需要与您在SQL语句中使用的案例相匹配。

所以,如果

select fpdesc from mylib.myfile

应该是

$obj->fpdesc // not $obj->FPDESC.

用同样的理由......如果

select fpDESC from my lib.myfile

应该是

$obj->fpDESC