php - PDO SHOW TABLES 数组

标签 php mysql arrays pdo

只是使用这个函数,它并没有按计划运行。它应该获取数据库中的所有表名并将它们存储在数组中。然而,数组的结果是将下面示例中显示的数组加倍:

Array ( [0] => 113340 ) 
Array ( [0] => 113340 [1] => 116516 ) 
Array ( [0] => 113340 [1] => 116516 [2] => 139431 ) 
Array ( [0] => 113340 [1] => 116516 [2] => 139431 [3] => 20731 ) 
Array ( [0] => 113340 [1] => 116516 [2] => 139431 [3] => 20731 ... )

我使用的代码:

function itemDiscontinued($dbh, $id, $detail) {
  try {
    $tableList = array();
    $result = $dbh->query("SHOW TABLES");
    while ($row = $result->fetch(PDO::FETCH_NUM)) {
      $tableList[] = $row[0];
      print_r($tableList);
    }
  }
  catch (PDOException $e) {
    echo $e->getMessage();
  }
}

最佳答案

要获取表的所有名称,这要好得多

public function list_tables()
{
    $sql = 'SHOW TABLES';
    if($this->is_connected)
    {
        $query = $this->pdo->query($sql);
        return $query->fetchAll(PDO::FETCH_COLUMN);
    }
    return FALSE;
}

关于php - PDO SHOW TABLES 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16213695/

相关文章:

java - 数组扫描阻止下一次字符串扫描?

PHP:更新除空白字段之外的所有内容

php - Bootstrap 完整日历不适用于日选项卡

php - 安全地在 Web 上列出登录信息?

c# - 使用 MySql.Data.MySqlClient;不管用

perl - 如何遍历Perl数组引用?

php - MySQL 从不同的表中检索 2 个值

javascript - 单击一次“阅读更多”按钮将不起作用,但多次单击将不起作用

php - 如何保存用户上传的内容?

c# - 我应该用什么来传递参数? C# 中的列表/数组/对象