首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇怪的PHP输出

奇怪的PHP输出
EN

Stack Overflow用户
提问于 2011-01-17 05:26:36
回答 3查看 76关注 0票数 0

我使用这段代码来尝试获取表名并将其存储在一个变量中。

代码语言:javascript
复制
<?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中的每个表运行一些代码,并将表名插入到一个变量中,我可以在上述代码中使用?我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-17 05:30:41

代码语言:javascript
复制
$tables = mysql_fetch_array($result);

mysql_fetch_array只读取一行,而不是整个集合。这意味着当您执行$table[0]时,您实际上是在处理行中每个字段的字符串值。

您应该将mysql_fetch_array放入循环中:

代码语言:javascript
复制
while ($table = mysql_fetch_array($result)) {
    $table_name = $table[0];
    echo $table_name;
}
票数 3
EN

Stack Overflow用户

发布于 2011-01-17 05:32:21

SHOW TABLES返回一个每行一个表名的表。您应该根据表中的行数多次使用mysql_fetch_array,因为它只检索表中的一行...

想一想这样的事情:

代码语言:javascript
复制
while($row = mysql_fetch_array($result)) {
    $table_name = $row[0];
    // ...
}
票数 1
EN

Stack Overflow用户

发布于 2011-01-17 05:43:09

$sql =“显示表”;$result = mysql_query($sql);

代码语言:javascript
复制
while ($row = mysql_fetch_array($result, MYSQL_BOTH))
{
    $tables[] = $row[0];
}

// To Display
foreach ($tables as $table) {

    $table_name = $table;
    echo $table_name;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4708189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档