Как получить список имен таблиц из базы данных в Drupal - PullRequest
2 голосов
/ 27 октября 2010

Я хочу получить список таблиц в массив из базы данных и имена столбцов конкретной таблицы в массив в Drupal. Пожалуйста, укажите вопросы в Drupal. Спасибо

Ответы [ 5 ]

3 голосов
/ 29 октября 2010

Попробуйте

1002 *
3 голосов
/ 27 октября 2010

Если вы хотите сгенерировать структуру не того, что на самом деле находится в базе данных, а того, как ее определяли модули, которые вы активировали, вы можете вызвать hook_schema для активированных модулей.На самом деле для этого есть вызов API, поэтому все, что вам нужно сделать, это позвонить drupal_get_schema

Это простой способ получить информацию, но этоне будет касаться базы данных, поэтому не будет найдено ни одной таблицы, созданной вручную с помощью SQL, или таблиц, которые не пришли из Drupal, или изменений, которые были сделаны с помощью необработанного SQL.Однако в 99,9% случаев это будет точно.

SQL:

SHOW TABLES;
SHOW COLUMNS FROM table_name;
2 голосов
/ 26 июня 2013

Попробуйте это

  $schema = drupal_get_schema(NULL,TRUE);// Get List Of all tables. 
  ksort($schema);// Sort Ascending
  foreach($schema as $table => $value){
    print_r($table."\r\n");
  } 
0 голосов
/ 04 августа 2014

Попробуйте этот кусок кода

<?php
    $result = db_query("SHOW TABLES");
    foreach($result as $row){
      print_r($row);  
    }
?>

$row - это объект.

0 голосов
/ 18 мая 2011
$result = db_query("SHOW TABLES");
while($row = db_fetch_array($result)) {
  // Each table should be in $row
  // Same here for "SHOW COLUMNS FROM table_name;" from googletorp answer
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...