类stdClass的对象无法转换为字符串

时间:2014-09-03 07:09:40

标签: php mysql database

我想列出我的所有数据库,所以我使用了这段代码:

$db_list=mysql_list_dbs($con);
while($db=mysql_fetch_object($db_list))
echo $db;

但我得到这个错误“类stdClass的对象无法转换为字符串”,任何想法?

4 个答案:

答案 0 :(得分:2)

你试图回应一个物体。应该是:

$db_list = mysql_list_dbs($con);
while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . '<br/>'; // target the property
}
  

警告:自PHP 5.4.0起,此功能已被弃用。非常不鼓励依赖此功能。

改为使用mysqli_*

$db = new mysqli('localhost', 'username', 'password', 'database_name');
$query = $db->query('SHOW DATABASES');
while($row = $query->fetch_assoc()) {
    echo $row['Database'] . '<br/>';
}

答案 1 :(得分:1)

PHP不能回显一个不是字符串的对象(即你的$ db对象)。如果您使用var_dump($db) 你应该能够看到$ db

的内容

答案 2 :(得分:1)

您可以使用var_dumbprint_r()

例如:

var_dump($db)

print_r($db)

因为echo只打印一个语句。您需要使用var_dumbprint_r()

打印对象或数组

答案 3 :(得分:1)

试试这个

echo $db->Database;

<强> Manual