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(); } } ```