我正在使用SHOW TABLES来检索数据库中的表列表。 数据库有19个表
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
if (!$db)
{
die('Could not connect: ' . mysql_error());
}
$dbselect = mysql_select_db($dbase,$db);
if(!$dbselect) {
die('Could not connect: ' . mysql_error());
}
$c_query=mysql_query("SHOW TABLES ",$db);
var_dump(mysql_fetch_array($c_query));
OUTPUT仅提供带有第一个表的数组
array(2) { [0]=> string(5) "tabl1" ["Tables_in_dbase"]=> string(5) "tabl1" }
为什么呢?如何检索数据库中所有表的列表? 更新:循环似乎是答案。似乎没有查询返回一个查询中的所有条目。
答案 0 :(得分:4)
结果包含多行(每行每个表),尝试类似:
while($row = mysql_fetch_array($c_query)) {
var_dump($row);
}
另请参阅phpMyAdmin中的查询结果,该结果还列出了多行。
答案 1 :(得分:2)
mysql_fetch_array将结果的下一行作为数组返回。它不会将完整的结果集作为2D数组返回。
您需要将该行包装在循环中:
while($row = mysql_fetch_array($c_query)) {
var_dump($row);
}