获取MySQL数据库里所有表的方法

转: 李惟

获取MySQL数据库里所有表的方法





获取某个MySQL数据库中所有表的PHP代码如下:
  1. function list_tables($database)
  2. {
  3.     $rs = mysql_list_tables($database);
  4.     $tables = array();
  5.     while ($row = mysql_fetch_row($rs)) {
  6.         $tables[] = $row[0];
  7.     }
  8.     mysql_free_result($rs);
  9.     return $tables;
  10. }
复制代码
但由于mysql_list_tables方法已经过时,运行以上程序时会给出方法过时的提示信息,如下:

Deprecated: Function mysql_list_tables() is deprecated in … on line xxx


一个处理办法是在php.ini中设置error_reporting,不显示方法过时提示信息

1 error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
另一个方法是使用PHP官方推荐的替代做法:
  1. function list_tables($database)
  2. {
  3.     $rs = mysql_query("SHOW TABLES FROM $database");
  4.     $tables = array();
  5.     while ($row = mysql_fetch_row($rs)) {
  6.         $tables[] = $row[0];
  7.     }
  8.     mysql_free_result($rs);
  9.     return $tables;
  10. }
复制代码
[完毕]

作者: 听老歌   发布时间: 2011-05-09

SHOW TABLES

作者: sunicc_   发布时间: 2011-05-10