2011-01-16 7 views

Antwort

13

Es gibt viele Möglichkeiten.

SHOW TABLES 

Ist die einfachste SQL-Anweisung dafür. Sie können auch einen Blick auf INFORMATION_SCHEMA.TABLES werfen, wenn Sie mehr Details haben wollen oder etwas filtern oder ähnliches.

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE 'your_database'; 
+0

was sind INFORMATION_SCHEMA und TABLE_SCHEMA ?? – laukok

+0

http://dev.mysql.com/doc/refman/5.0/en/information-schema.html – cubic1271

8

Ich würde versuchen, so etwas wie: https://devzone.zend.com/13/php-101-part-8-databases-and-other-animals_part-2/ (EDIT:

function get_tables() 
{ 
    $tableList = array(); 
    $res = mysqli_query($this->conn,"SHOW TABLES"); 
    while($cRow = mysqli_fetch_array($res)) 
    { 
    $tableList[] = $cRow[0]; 
    } 
    return $tableList; 
} 

Sie könnten auch diese in Abschöpfen Interesse Link verweist auf MySQL API und nicht Mysqli, aber die meisten Anrufe tun ein mysqli parallel).

HTH

+0

danke für diese Antwort! – laukok

+0

Die bereitgestellten Link 404s. – Stephane

+0

Aktualisierter Link: https://devzone.zend.com/13/php-101-part-8-databases-and-other-animals_part-2/ – cubic1271

0

hier ist wenig Beispiel

class database { 
    public $connection; 

    function __construct() { 
     $this->connection = mysqli_connect(DBHOST, 
              DBUSER, 
              DBPASS, 
              DBNAME) or 
     die('Database Connection Error: '.mysqli_connect_error()); 
    } 

    public function close_database() { 
     return mysqli_close($this->connection); 
    } 
    public function query($query) { 
     $query = mysqli_query($this->connection ,$query) or die($this->show_errors('Query Execution Error: '.mysqli_error($this->connection),'E')); 
     return $query; 
    } 
    public function fetch_assoc($query) { 
     $query = mysqli_fetch_assoc($query); 
     return $query; 
    } 
} 

$db = new database(); 
$query = $db->query("SHOW TABLES FROM DATABASENAME"); 
$db->fetch_assoc($query); 
+1

Anstatt diese Klasse als Wrapper zu erstellen, nur um prozedurale Funktionen zu verwenden, müssen Sie sollte nur die MySQLi-Klasse verwenden. –

6

PHP 5.5 oder höher, eine einfache Lösung ist die Verwendung von PHP built-in array_column() Funktion.

$link = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME); 
$listdbtables = array_column(mysqli_fetch_all($link->query('SHOW TABLES')),0); 
Verwandte Themen