PDO SHOW TABLES array

arrays, mysql, pdo, php

Solution

to get all names of the tables this is much better

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

Problem

Just working with this function and it's not working out as planned. It is supposed to grab all table names in a database and store them in an array. However the results of the array is doubling up the array shown in the example below: ``` 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 ... ) ``` The code that I am using: ``` 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(); } } ```

Original source