可捕获的致命错误:类stdClass的对象无法转换为字符串

时间:2014-01-08 08:56:49

标签: php

我收到以下错误:

  

捕获致命错误:类stdClass的对象无法转换为字符串

我使用的是php5.5.34。

我的代码如下:

<?php
if($queryaddress_select_user_basic_info = $db->query("SELECT * FROM user_basic_info WHERE            username = '$valusername_registerphp'"))
{
    if($count = $queryaddress_select_user_basic_info->num_rows)
    {
        while($valuesinloop_userbasicinfo = $queryaddress_select_user_basic_info->fetch_object())
        {
            echo $valuesinloop_userbasicinfo->username,'<br>';
            echo $_SESSION['user_primaryvalue'] =$valuesinloop_userbasicinfo; //error is on this line

        }
    }

    else
    {
        echo "cannot count results/cannot return results";
    }
}

else
{
    echo "query not written correctly!";
}
?>

为什么它会抛出错误?

1 个答案:

答案 0 :(得分:0)

$valuesinloop_userbasicinfo是一个对象。您正在为该对象设置会话的值(工作正常),但请注意设置变量也会返回其值。

echo $_SESSION['user_primaryvalue'] =$valuesinloop_userbasicinfo;

此行不仅会设置$_SESSION['user_primaryvalue']的值,还会设置echo,并且考虑$_SESSION['user_primaryvalue']现在是一个对象,它会导致给定的错误。