Foros del Web » Programando para Internet » PHP »

como verifico si la tabla existe

Estas en el tema de como verifico si la tabla existe en el foro de PHP en Foros del Web. como se si una tabla existe... tendria q ser algo asi colocandole un @ a mysql_query es decir @mysql_query($select) y luego viendo si es error?...
  #1 (permalink)  
Antiguo 10/03/2004, 11:03
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
como verifico si la tabla existe

como se si una tabla existe... tendria q ser algo asi

colocandole un @ a mysql_query es decir @mysql_query($select) y luego viendo si es error?
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 10/03/2004, 11:16
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
puedes utilizar mysql_list_tables

con eso te listara todas tus tablas de tu base de datos, ya depues puedes hacer un ciclo en el cual puedas comparar el nombre de la tabla que existe con el array de reultado si no machea con nada entonces no existe.



saludos

Última edición por payo22; 10/03/2004 a las 11:19
  #3 (permalink)  
Antiguo 10/03/2004, 11:20
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
mira podrias hacer algo parecido a lo que hacen para buscar la base de datos en el ejemplo de el siguiente enlace.

http://es.tldp.org/Manuales-LuCAS/ma...r_bd_mysql.htm

saludos.
  #4 (permalink)  
Antiguo 10/03/2004, 12:03
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
entendi el ejemplo pero no existe una funcion que simplifique, es decir if (!existe($tabla)) then crear...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #5 (permalink)  
Antiguo 10/03/2004, 12:55
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
para borrar una tabla he visto esto:

drop table if exists tabla;
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #6 (permalink)  
Antiguo 10/03/2004, 12:56
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
pero yo no quiero borrala... lo que quiero hacer es
si la tabla no existe entonces crearla
si existe entonces recorrerla...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #7 (permalink)  
Antiguo 10/03/2004, 13:01
 
Fecha de Ingreso: febrero-2004
Ubicación: Bs. As. - Argentina
Mensajes: 53
Antigüedad: 20 años, 2 meses
Puntos: 0
Puedes hacer:

CREATE TABLE IF NOT EXISTS tabla(
campo1, campo2,...,campo10);

y luego recorrerla.
__________________
Saludos!
  #8 (permalink)  
Antiguo 10/03/2004, 13:02
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
create table if not exists mitabla

no se que te devuelva esta consulta como para saber que hacer despues, pero puedes probar que devuelve si existe y que devuelve si no existe para poder decidir.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #9 (permalink)  
Antiguo 10/03/2004, 13:34
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Dos métodos :

Código PHP:
<?php
function mysql_table_exists($table$link)
{
     
$exists mysql_query("SELECT 1 FROM `$table` LIMIT 0"$link);
     if (
$exists) return true;
     return 
false;
}
?>
otra :

Código PHP:
<?php
$tbl_exists 
mysql_query("DESCRIBE una_tabla");
if (!
$tbl_exists) {
    echo 
"la tabla no existe";
}
?>
En el manual, no hay que revisar solo los nombres de las funciones, si pusieron los comentarios de los usuarios es por algo, aprovéchenlos.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #10 (permalink)  
Antiguo 10/03/2004, 13:38
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
juaz!! gracias web... algo asi habia pensado pero se me caia..
no entendi este comentario...

En el manual, no hay que revisar solo los nombres de las funciones, si pusieron los comentarios de los usuarios es por algo, aprovéchenlos
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #11 (permalink)  
Antiguo 10/03/2004, 13:54
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Claro, que muchas veces las respuestas a nuestros problemas ( que por más que nos parezcan problemas extraordinarios, SEGURO que ya le sucedieron a muchas personas más antes que nosotros ) está en los comentarios de los usuarios en el manual de PHP. Esas dos soluciones, estan en la función mysql_list_tables(); y seguro que alli alguno habría puesto una solución ( en este caso dos ) a la duda de saber si una tabla existe o no.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #12 (permalink)  
Antiguo 10/03/2004, 13:57
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
Tambien puedes utilizar esta simple funcion utilizando lo que te sugeria payo22, ''mysql_list_tables'',

Te devuelve verdadero si existe o falso si no


Código PHP:
 function mysql_table_exist($tabla){
      
       global 
$database;
      
       
$result mysql_list_tables($database);
       
$row mysql_fetch_row($result);
       
       if(
in_array($tabla,$row)) return true
         
else return false
      
  

espero que te sirva

un Saludo
  #13 (permalink)  
Antiguo 10/03/2004, 14:00
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
Cita:
Mensaje Original por Webstudio
Claro, que muchas veces las respuestas a nuestros problemas ( que por más que nos parezcan problemas extraordinarios, SEGURO que ya le sucedieron a muchas personas más antes que nosotros ) está en los comentarios de los usuarios en el manual de PHP. Esas dos soluciones, estan en la función mysql_list_tables(); y seguro que alli alguno habría puesto una solución ( en este caso dos ) a la duda de saber si una tabla existe o no.

Saludos.
uno siempre revisa la opcion busqueda...
pero de repente no tiene el nombre adecuado la consulta, es decir muchas veces te encuentras con post que dicen cosas como: "necesito ayuda" y eso no dice nada...
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #14 (permalink)  
Antiguo 10/03/2004, 14:29
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Yo me refiero a los "User Comments" que podés encontrar acá :

http://ar2.php.net/mysql-list-tables

No me refiero al Foro.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:42.