0

我试图简单地运行一个查询并在一个数组中获取结果:

function run_query($query)
{
    $out = '';
    $db = new PDO("mysql:host=localhost;dbname=test","test","test");
    $out = $db->query($query)->fetchAll(PDO::FETCH_OBJ);
    return $out;
}

在另一端:

$l_o_array = $php_functions->run_query('SHOW TABLES');
$temp = implode(',', $l_o_array);

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

我认为这是因为我使用FETCH_OBJ,但是我用什么来获取字符串数组?

4

2 回答 2

0

试试 print_R();

理解问题

<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>

问候

于 2012-11-04T03:17:49.980 回答
0

这是您可以做到的一种方法:

function run_query($query)
{
    $out = '';
    $db = new PDO("mysql:host=localhost;dbname=test","test","test");
    $out = $db->query($query)->fetchAll();
    return $out;
}

$results = run_query('SHOW TABLES');

$tables = array();
foreach($results as $result)
    $tables[] = $result['Tables in test']; // Note, replace "test" with your database name

$temp = implode(',', $tables);
于 2012-11-04T02:50:52.190 回答