Foros del Web » Programando para Internet » PHP »

anidar varios create table

Estas en el tema de anidar varios create table en el foro de PHP en Foros del Web. Hola, estoy intentando crear varias tablas seguidas con php pero no encuentro la sintaxis sql correctar para hacerlo. ¿me podeis ayudar? Gracias...
  #1 (permalink)  
Antiguo 13/01/2004, 06:10
 
Fecha de Ingreso: enero-2002
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
anidar varios create table

Hola, estoy intentando crear varias tablas seguidas con php pero no encuentro la sintaxis sql correctar para hacerlo. ¿me podeis ayudar?

Gracias
  #2 (permalink)  
Antiguo 13/01/2004, 07:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(suponemos que estás usando Mysql como BD?)

mysql_query() sólo ejecuta una sentencia SQL por llamada .. es decir .. Una sentencia SQL es justo hasta el ; (punto y coma) (por si ves un .sql generado con phpMyadmin o similar).

Así que .. sólo tienes que hacer tu mysql_quer() de una tabla (CREATE TABLE .....;) y luego otro mysql_query() de la otra tabla y así sucesivamente ...

También podrías tener un archivo de texto plano/variable con todos tu sentencias SQL con sus separadores de sentencia con su ; y usar la función explode() al caracter ; para generar un array de instrucciones .. las cuales puedes leer con un bucle tipo foreach()

Código PHP:
<?
//conectas a tu BD .. seleccionas la BD ..etc

$sentencias_sql="CREATE table .... ; CREATE table .... ; etc ;";
$sentencias=explode(";",$sentencias_sql);
foreach(
$sentencias as $sql){
mysql_query($sql);
}
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 13/01/2004 a las 07:25
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 10:20.