Foros del Web » Programando para Internet » PHP »

Como saber si una tabla existe?

Estas en el tema de Como saber si una tabla existe? en el foro de PHP en Foros del Web. Hola, tengo un script que al empezar hace una tabla en una base de datos, y realiza un proceso bastante largo. Mientras se lleva a ...
  #1 (permalink)  
Antiguo 26/07/2002, 21:10
 
Fecha de Ingreso: febrero-2001
Mensajes: 36
Antigüedad: 23 años, 1 mes
Puntos: 0
Como saber si una tabla existe?

Hola, tengo un script que al empezar hace una tabla en una base de datos, y realiza un proceso bastante largo. Mientras se lleva a cabo el proceso, tambien se está guardando el desarrollo en la base de datos. Quiero desarrollar una aplicación, para que si el cliente se enfade, pueda regresar, y que no tenga que volver a empezar el proceso de nuevo. Por eso, quiero saber si la tabla existe, si existe, checa el progreso del proceso, y no empieza desde el principio, si no donde se quedó en su última visita. Alguna idea?

Gracias
  #2 (permalink)  
Antiguo 26/07/2002, 21:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: Como saber si una tabla existe?

En la sintaxis SQL (de Mysql) para crear una BD .. tienes el parametro opcional IF NOT EXISTS eso le idica a Mysql que cree la tabla si no existe ..

con lo cual .. tu forma de crear las Tablas seria:

$SQL="
CREATE TABLE nombre IF NOT EXISTS (
definicion de campos .. etc ..
)
"

Al hacer tu consulta (query; mysql_query() ) .. NO la creara .. pues tiene el parametro "IF NO EXIST" .... y puedes continuar con el resto de logica de tu programacion ..

<a href='ir.asp?http://www.mysql.com/doc/C/R/CREATE_TABLE.html' target='_blank'>http://www.mysql.com/doc/C/R/CREATE_TABL...</a>

jeje aunque pensandolo mejor .. tienes la funcion:

mysql_list_tables() con la cual puedes mostrar las tablas de una BD (en combinacion con otra funcion .. )

<a href='ir.asp?http://www.php.net/manual/es/function.mysql-list-tables.php' target='_blank'>http://www.php.net/manual/es/function.my...</a>

Y otra solucion (descrita en los &quot;user comments&quot;, los mesajes de cada funcion en la version en linea del manual de php .. ) dan esta solucion facil:

Código:
 function mysql_table_exist($tableName)
{
	$query = &quot;SELECT COUNT(*) FROM $tableName&quot;;
        $result = mysql_query($query);
	$num_rows = @mysql_num_rows($result);
	if($num_rows)
	{
		return TRUE;
	}
	else
	{

		return FALSE;
	}

}
Como veras es una funcion q devulver verdadero/falso si la tabla que se quiere usar tiene campos creados o no .. Pruebalo:

$tableName=&quot;tutabla&quot;;
if (mysql_table_exist($tableName)){
echo &quot;esta creada&quot;;
} else {
echo &quot;no esta creada&quot;;
}

Un saludo,

pd: casi me salio un minitutorial :P
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 02:32.