php中的catchable错误?

时间:2010-06-04 15:01:27

标签: php class

我有一个非常奇怪的错误:

  

[04-Jun-2010 15:55:32] PHP Catchable   致命错误:类类型的对象   无法转换为字符串   /home/prettykl/public_html/2010/includes/functions.php   在第140行

这是代码,第140行是$ sql行。

if (!empty($type)) {

    $sql = "SELECT * FROM `types` WHERE `type` = '$type'";
    $dbi = new db();    
    $result = $dbi->query($sql);
    $row = mysql_fetch_row($result);

    $dbi->closeLink();

    $where_array[] = "`typeID` = '".$row->typeID."'";
    $where_array[] = "`typeID2` = '".$row->typeID."'";
}

我有5或6个班级,我以前从未遇到过这个问题。 该函数没有引用类,任何想法??

谢谢,

的Stefan

3 个答案:

答案 0 :(得分:1)

$type是类Type的对象。您可能想查询该对象的属性?

答案 1 :(得分:1)

错误意味着$type实际上是一个对象(类Type),因此$type变量不包含您期望的内容,或者您​​实际上想要获取该对象的成员相反,所以$type->getSomeString()等等。

答案 2 :(得分:1)

当您尝试将对象转换为字符串并且该对象未实现__toString()方法时,会发生此错误。 PHP无法处理该转换。例如:

$s = new stdClass();
echo $s;

Catchable fatal error: Object of class stdClass could not be converted to 
string in php shell code on line 1

请注意,您在查询中输出$type,就像它是一个字符串一样。