Saber si una tabla de una BD existe

 
No hay una función específica para saber si una tabla de una base de datos existe o no, pero si que hay una función que te devuelve una matriz con todos los nombres de las tablas 'mysql_list_tables("base de datos")'.
Después sencillamente se hace un bucle en el que a cada paso se le va signando un nombre de la matriz $tablas, si en un paso se encuentra con una tabla con el mismo nombre que el que hemos pasado (el if), es que esta tabla existe por lo que se devuelve 1 (true), si el bucle finaliza con normalidad, significa que no ha encontrado el nombre de la tabla y no devolverá nada (false).
Al principio y al final hemos incluido las funciones de conexión y desconexión de la base de datos, necesarios para trabajar con ellas.
Esta función recibe dos parámetros; el nombre de la tabla y el nombre de la base de datos.


Código:
<?php
    //Copyright © McAnam.com
    
    $lincador = mysql_connect("servidor","usuario","contraseña");
    
    function tabla_existe($nombre_tb,$base_datos) {

        $tablas = mysql_list_tables($base_datos);

        while (list($tabla) = mysql_fetch_array($tablas)) {
            if ($nombre_tb == $tabla){
                return true;
                break;
            }
        }
        return false;
    }
    
    //Ejemplo de utilización de la función:
    if (tabla_existe("nombre tabla","nombre base de datos"))
        echo "La tabla que has seleccionado existe en tu base de datos";
    else
        echo "La tabla que has seleccionado NO existe en tu base de datos";
    
    //Fin ejemplo
    mysql_close($lincador);
?>

Links relacionados:
Conectarse a una base de Datos MySQL
Pasar saltos de línea de BD a html
Ocultar, mostrar errores de ejecución de PHP
Crear origen de datos DSN para conexión ODBC (ASP)


Para cualquier duda, consulta, sugerencia, opinión, colaboración, etc; no dude en ponerse en contacto con nosotros

Copyright © 2002-2017 [McAnam]. Reservados todos los derechos.
www.mcanam.com