我使用这段代码来尝试获取表名并将其存储在一个变量中。
<?php
connectDB();
$sql = "SHOW TABLES";
$result = mysql_query($sql);
$tables = mysql_fetch_array($result);
foreach ($tables as $table) {
$table_name = $table[0];
echo $table_name;
}
closeConn();
?>例如,它输出'aa‘和'bb’,如果我改变数组索引,我知道这不是db中的表名,我想要做的是为db中的每个表运行一些代码,并将表名插入到一个变量中,我可以在上述代码中使用?我该怎么做呢?
发布于 2011-01-17 05:30:41
$tables = mysql_fetch_array($result);mysql_fetch_array只读取一行,而不是整个集合。这意味着当您执行$table[0]时,您实际上是在处理行中每个字段的字符串值。
您应该将mysql_fetch_array放入循环中:
while ($table = mysql_fetch_array($result)) {
$table_name = $table[0];
echo $table_name;
}发布于 2011-01-17 05:32:21
SHOW TABLES返回一个每行一个表名的表。您应该根据表中的行数多次使用mysql_fetch_array,因为它只检索表中的一行...
想一想这样的事情:
while($row = mysql_fetch_array($result)) {
$table_name = $row[0];
// ...
}发布于 2011-01-17 05:43:09
$sql =“显示表”;$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_BOTH))
{
$tables[] = $row[0];
}
// To Display
foreach ($tables as $table) {
$table_name = $table;
echo $table_name;
}https://stackoverflow.com/questions/4708189
复制相似问题