In this tutorial you can learn how to check with PHP if one, or multiple tables exist into a MySQL database.
The SQL command that returns a list with all the tables in database is this:
SHOW TABLES
OR:
SHOW TABLES IN `database_name`
- This query returns the name of the tables in a database, the result is stored into an alias named Tables_in_databasename ; databasename is the name of the database.

For example, if we have a MySQL database named "tests", with these tables: users, temp, and online; we can use the following code in PHP to get a list with the table's name:
<?php
// connect to the "tests" database
$conn = new mysqli('localhost', 'root', 'pass', 'tests');

// check connection
if (mysqli_connect_errno()) {
 exit('Connect failed: '. mysqli_connect_error());
}

// SQL query
$sql = "SHOW TABLES IN `tests`";

// perform the query and store the result
$result = $conn->query($sql);

// if the $result not False, and contains at least one row
if($result !== false) {
 // if at least one table in result
 if($result->num_rows > 0) {
 // traverse the $result and output the name of the table(s)
 while($row = $result->fetch_assoc()) {
 echo '<br />'. $row['Tables_in_tests'];
 }
 }
 else echo 'There is no table in "tests"';
}
else echo 'Unable to check the "tests", error - '. $conn->error;

$conn->close();
?>
This code will return the following result:
users
temp
online

If you want to check if a certain table exists into a MySQL database, you can use this SQL query:
SHOW TABLES IN `databasename` WHERE `Tables_in_databasename` = 'table_name'

- For example, to check if the "users" table exists in the "tests" database, we can use this code in PHP:
<?php
// connect to the "tests" database
$conn = new mysqli('localhost', 'root', 'pass', 'tests');

// check connection
if (mysqli_connect_errno()) {
 exit('Connect failed: '. mysqli_connect_error());
}

// SQL query
$sql = "SHOW TABLES IN `tests` WHERE `Tables_in_tests` = 'users'"; 

// perform the query and store the result
$result = $conn->query($sql);

// if the $result not False, and contains at least one row
if($result !== false) {
 // if the $result contains at least one row, the table exists, otherwise, not exist
 if ($result->num_rows > 0) echo 'The table "users" exists';
 else echo 'The table "users" Not exists';
}
else echo 'Unable to check the "tests", error - '. $conn->error;

$conn->close();
?>

Function to check if one ore multiple tables exist in a database

The following function can be used in PHP to see if one, or multiple tables exists in a MySQL database.
// check if tables passed in $tables exists in $db
function tableExist($conn, $db, $tables) {
 $eror = false;

 // if $tables is a string, convert it into an Array
 if(is_string($tables)) $tables = array($tables);

 $result=$conn->query("SHOW TABLES IN `$db`");
 if($result !== false) {
 // if at least one table in result
 if($result->num_rows > 0) {
 // traverse the $result and store all tables into an array
 while($row = $result->fetch_assoc()) {
 $tables_db[] = $row['Tables_in_'.$db];
 }

 // check if each table from $tables is in $tables_db, if not, sets error
 for($i=0; $i<count($tables); $i++) {
 if(!in_array($tables[$i], $tables_db)) $eror[] = 'Table '. $tables[$i]. ' Not exist in "'. $db. '"';
 }
 }
 else $eror[] = 'There is no table in "'. $db. '"';
 }
 else $eror[] = 'Unable to check the "'. $db. '"';

 // if $eror not False, output errors and returns false, otherwise, returns true
 if($eror !== false) {
 echo implode('<br/>', $eror);
 return false;
 }
 else return true;
}
The tableExist() function receives three arguments:
- $conn - is the object that contains the connection to MySQL.
- $db - represents the name of the database.
- $tables - can be a string with the name of a table, or an Array with multiple table names.

• Example, check if the tables: "comments", "temp", and "users" exist in database "tests".
<?php
// Free WebMaster courses - https://coursesweb.net

// check if tables passed in $tables exists in $db
function tableExist($conn, $db, $tables) {
 $eror = false;

 // if $tables is a string, convert it into an Array
 if(is_string($tables)) $tables = array($tables);

 $result=$conn->query("SHOW TABLES IN `$db`");
 if($result !== false) {
 // if at least one table in result
 if($result->num_rows > 0) {
 // traverse the $result and store all tables into an array
 while($row = $result->fetch_assoc()) {
 $tables_db[] = $row['Tables_in_'.$db];
 }

 // check if each table from $tables is in $tables_db, if not, sets error
 for($i=0; $i<count($tables); $i++) {
 if(!in_array($tables[$i], $tables_db)) $eror[] = 'Table '. $tables[$i]. ' Not exist in "'. $db. '"';
 }
 }
 else $eror[] = 'There is no table in "'. $db. '"';
 }
 else $eror[] = 'Unable to check the "'. $db. '"';

 // if $eror not False, output errors and returns false, otherwise, returns true
 if($eror !== false) {
 echo implode('<br/>', $eror);
 return false;
 }
 else return true;
}

$db = 'tests';
// connect to the "tests" database
$conn = new mysqli('localhost', 'root', 'pass', $db);

// check connection
if (mysqli_connect_errno()) {
 exit('Connect failed: '. mysqli_connect_error());
}

// array with the tables to test
$tables = array('comments', 'temp', 'users');

// calls the tableExist() function
if(tableExist($conn, $db, $tables)) echo 'All the tables: <i>'. implode(', ', $tables). '</i> exists';
?>

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag can be used to create input text field in web page?
<form> <input> <div>
<input type="text" name="a_name" value="val" />
Which CSS property displays the text in a small-caps font?
display font-variant font-style
h3 {
  font-variant: small-caps;
}
What instruction displays a notice box with a message inside it, in JavaScript?
for() Date() alert()
var msg = "Visit CoursesWeb.net";
alert(msg);
Indicate the PHP code used to get the users IP.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Check if table exists in database

Last accessed pages

  1. Node.js Move and Copy file (17024)
  2. PHP MySQL - INSERT INTO (12722)
  3. Check if table exists in database (6042)
  4. PHP SimpleXML (2012)
  5. PHP Unzipper - Extract Zip, Rar Archives (5170)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (2967)
  2. Contact page - CoursesWeb (2859)
  3. Tabs effect with CSS (2841)
  4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (1038)
  5. PHP getElementById and getElementsByTagName (990)