odbc_tables() - Listing All Tables in the Database

Q

How To List All Tables in the Database using odbc_tables()?

✍: Guest

A

If you want to get a list of all tables in the database, you can use the odbc_tables() function, which can actually be used to list all tables and views in the database. The syntax of odbc_tables() is:

$result_set = odbc_tables($connection_object,
   $qualifier, # database name for SQL Server
   $owner, # schema name for SQL Server
   $name, # table or view name for SQL Server
   $type # valid type names are TABLE and VIEW
   )
#- The returning result set contains 5 fields:
#- TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, TABLE_TYPE,
#- REMARKS

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

The tutorial example below shows you how to get a list of tables in the current database, FyiCenterData, which is hard coded in the DSN definition:

<?php
  $con = odbc_connect('FYI_SQL_SERVER','sa','FYIcenter');

# odbc_tables($con, $database, $schema, $name, $type);
  $res = odbc_tables($con, 'FyiCenterData','%','%','TABLE');
  while (odbc_fetch_row($res)) {
     print("   ".odbc_result($res,1));
     print(", ".odbc_result($res,2));
     print(", ".odbc_result($res,3));
     print(", ".odbc_result($res,4));
     print(", ".odbc_result($res,5)."\n");
  }
  odbc_free_result($res);

  odbc_close($con); 
?>

If you run this script, you will get something like:

   FyiCenterData, dbo, fyi_links, TABLE,
   FyiCenterData, dbo, fyi_links_copy, TABLE,
   FyiCenterData, dbo, fyi_links_indexed, TABLE,
   FyiCenterData, dbo, fyi_random, TABLE,
   FyiCenterData, dbo, fyi_rates, TABLE,
   FyiCenterData, dbo, fyi_team, TABLE,
   FyiCenterData, dbo, tipBackup2, TABLE,

 

odbc_columns() - Listing All Columns in a Table

odbc_result() - Retrieve Field Values

SQL Server FAQs - PHP ODBC Functions - Connection and Query Execution

⇑⇑ SQL Server Connection Tutorials

2023-12-31, 1203🔥, 0💬