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.
|
//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); ?> | |
1 comentario:
Cuidado con la función mysql_list_dbs, está obsoleta.
Es mejor hacer la consulta:
SHOW DATABASES LIKE '$db';
http://www.php.net/manual/es/function.mysql-list-dbs.php
Publicar un comentario