我一直试图用我的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>';
}
提前致谢 皮特
答案 0 :(得分:2)
因为这会返回一个多维数组。所以你不能完全回应它。由于您使用了PDO::FETCH_ASSOC
标志,它将返回一个关联数组,而您必须访问其正确的索引。
while($row = $st->fetch(PDO::FETCH_ASSOC)){
echo $row['TABLE_NAME'] . '<br/>';
}
旁注:我不认为$st->execute();
属于那里,因为这不是使用准备好的陈述。我认为放弃那部分是安全的。