使用pdo和php获取mysql数据库中表的名称

时间:2014-11-09 13:43:09

标签: php mysql pdo

我一直试图用我的mysql数据库中的pdo获取表名,无论我尝试什么,我得到的唯一的东西是每个表的单词Array而不是名称。

我已经尝试了所有pdo fetch_ *,其中一个为每个表返回1,而其他表返回错误或单词Array。下面的例子无关紧要:$ st或$ rt

我错过了什么?

这是我的代码:

$sql = "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_TYPE='BASE TABLE'";        
        $st = $db->query($sql);
        $st->execute();

        //$rt = $db->query("show tables");
        //$rt->execute();

        while($row = $st->fetch(PDO::FETCH_ASSOC)){
            echo $row.'<br>';
        }

提前致谢 皮特

1 个答案:

答案 0 :(得分:2)

因为这会返回一个多维数组。所以你不能完全回应它。由于您使用了PDO::FETCH_ASSOC标志,它将返回一个关联数组,而您必须访问其正确的索引。

while($row = $st->fetch(PDO::FETCH_ASSOC)){
    echo $row['TABLE_NAME'] . '<br/>';
}

旁注:我不认为$st->execute();属于那里,因为这不是使用准备好的陈述。我认为放弃那部分是安全的。