Foros del Web » Programando para Internet » PHP »

error al crear Tabla-SQL con PHP

Estas en el tema de error al crear Tabla-SQL con PHP en el foro de PHP en Foros del Web. Gracias por anticipado a quien pueda darme una manita con esta instalacion de tabla en SQL que ya me tiene un poco liado lo que ...
  #1 (permalink)  
Antiguo 14/04/2003, 17:15
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta error al crear Tabla-SQL con PHP

Gracias por anticipado a quien pueda darme una manita con esta instalacion de tabla en SQL que ya me tiene un poco liado lo que pasa es que yo las hago manualmente pero como son varios articulos con diferentes temas las que tengo que hacer, prefiero automatizar la instalacion, me ayudana por favor ?

Código PHP:
<?php

include("conexion.php");

// ................. Usuarios para administracion de articulos !!!
$Usuario1 "usuario1";
$Password1 "password1";
$Nombre1 "nombre1";
$Correo1 "[email protected]";
// ..............................................................
// Nombre para las Tablas de articulos
$NoticiasData "Noticia_Dat_articulo1";
$NoticiasEnviadas "Noticia_Env_articulo1";
$NoticiasAdminUser "Noticia_Adm_articulo1";

// 1.- ----------- Crear Tabla -------------

$sql "CREATE TABLE $NoticiasData (";
$sql .= "id int(11) NOT NULL auto_increment,";
$sql .= "titulo varchar(150) NOT NULL default '',";
$sql .= "titulo2 varchar(150) NOT NULL default '',";
$sql .= "noticia longtext NOT NULL,";
$sql .= "lugar varchar(100) NOT NULL default '',";
$sql .= "fecha_dia int(11) NOT NULL default '0',";
$sql .= "fecha_mes varchar(15) NOT NULL default '',";
$sql .= "fecha_anio int(11) NOT NULL default '0',";
$sql .= "oficina varchar(100) NOT NULL default '',";
$sql .= "mostrar enum('0','1') NOT NULL default '0',";
$sql .= "hits int(11) NOT NULL default '0',";
$sql .= "enviado int(11) NOT NULL default '0',";
$sql .= "id_int int(11) NOT NULL default '0',";
$sql .= "imagen longtext NOT NULL,";
$sql .= "PRIMARY KEY  (id)";
$sql .= ") TYPE=MyISAM;";


echo 
"Instalando Tabla $NoticiasData...";

if(
mysql_query($sql))
{
    echo 
"$NoticiasData INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// 2.- ----------- Crear Tabla -------------

$sql "CREATE TABLE $NoticiasEnviadas (";
$sql .= "id_enviado int(11) NOT NULL auto_increment,";
$sql .= "de varchar(50) NOT NULL default '',";
$sql .= "para varchar(50) NOT NULL default '',";
$sql .= "mensaje longtext NOT NULL,";
$sql .= "id_letra int(11) NOT NULL default '0',";
$sql .= "PRIMARY KEY  (id_enviado)";
$sql .= ") TYPE=MyISAM;";


echo 
"Instalando Tabla $NoticiasEnviadas ...";

if(
mysql_query($sql))
{
    echo 
"$NoticiasEnviadas INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// 3.- ----------- Crear Tabla -----------

$sql "CREATE TABLE $NoticiasAdminUser (";
$sql .= "id_admin int(11) NOT NULL auto_increment,";
$sql .= "uid varchar(50) NOT NULL default '',";
$sql .= "pwd varchar(50) NOT NULL default '',";
$sql .= "nombre varchar(50) NOT NULL default '',";
$sql .= "correo varchar(50) NOT NULL default '',";
$sql .= "PRIMARY KEY  (id_admin)";
$sql .= ") TYPE=MyISAM;";

echo 
"Instalando Tabla $NoticiasAdminUser ...";

if(
mysql_query($sql))
{
    echo 
" <b> $NoticiasAdminUser </b> INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// -----------------------------------------------------------------
$sql ="INSERT INTO $NoticiasAdminUser VALUES (1, 'adex', '05e59ddd4ebfb976', '', '');";
$sql .="INSERT INTO $NoticiasAdminUser VALUES (2, 'MARYSAONA', '5bc84786759adbf5', '', '');";
$sql .="INSERT INTO Noticias_SM_Admin VALUES (3, '".$Ususario1."',password('".$Password1."'), '".$Nombre1."', '".$Correo1."');";

echo 
"Creando administradores <b>[$NoticiasAdminUser]</b>...";

if(
mysql_query($sql))
{
    echo 
"tabla $NoticiasAdminUser de ADMINISTRACION INSTALADO EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}
?>
Saludos:
  #2 (permalink)  
Antiguo 14/04/2003, 19:13
Avatar de cubis  
Fecha de Ingreso: abril-2002
Ubicación: Medellín
Mensajes: 1.040
Antigüedad: 22 años
Puntos: 2
$sql = "CREATE TABLE $NoticiasData (";
$sql .= "id int(11) NOT NULL auto_increment,";
$sql .= "titulo varchar(150) NOT NULL default '',";
$sql .= "titulo2 varchar(150) NOT NULL default '',";
$sql .= "noticia longtext NOT NULL,";
$sql .= "lugar varchar(100) NOT NULL default '',";
$sql .= "fecha_dia int(11) NOT NULL default '0',";
$sql .= "fecha_mes varchar(15) NOT NULL default '',";
$sql .= "fecha_anio int(11) NOT NULL default '0',";
$sql .= "oficina varchar(100) NOT NULL default '',";
$sql .= "mostrar enum('0','1') NOT NULL default '0',";
$sql .= "hits int(11) NOT NULL default '0',";
$sql .= "enviado int(11) NOT NULL default '0',";
$sql .= "id_int int(11) NOT NULL default '0',";
$sql .= "imagen longtext NOT NULL,";
$sql .= "PRIMARY KEY (id)";
$sql .= ") TYPE=MyISAM;";

Se me hace que estas complicando las cosas... más fácil seria.

CREATE TABLE $nombretabla (
id INT primary key auto_incremente NOT NULL,
otrocampo VARCHAR(50) NOT NULL default 'hola',
otromas BLOB NOT NULL default ',';

Esa es la sintax... lo de arriba creo que esta mal... corrijanme si estoy haciendo algo mal.

Adiós.
__________________
[color=gray][size=1]Usuario Registrado de Linux #315639
  #3 (permalink)  
Antiguo 14/04/2003, 19:17
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
ok.. Cubis Gracias por tu atencion!!!
creo que no me hice entender bien.... lo que quiero hacer es un
archivo install.php y que realize todas esas acciones pero al
momento de ejecutarlo me sale error... por ello la molestia de pedir ayuda... Gracias nuevamente .... !!!
  #4 (permalink)  
Antiguo 14/04/2003, 19:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. adex .. si dices de un tal "me sale un error" .. PON el error textual que te aparezca ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 14/04/2003, 19:26
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Tienes razon cluster...

Código PHP:
Instalando Tabla para el contenido de Noticias Noticia_Dat_huanc...ERRORIMPOSIBLE INSTALARMySql Error:No Database Selected
Instalando Tabla De Noticias Enviadas Noticia_Env_huanc 
...ERRORIMPOSIBLE INSTALARMySql Error:No Database Selected
Instalando Tabla De Noticia_Adm_huanc 
...ERRORIMPOSIBLE INSTALARMySql Error:No Database Selected
Creando administradores 
[Noticia_Adm_huanc]...ERRORIMPOSIBLE INSTALARMySql Error:You have an error in your SQL syntaxCheck the manual that corresponds to your MySQL server version for the right syntax to use near ';INSERT INTO Noticia_Adm_huanc VALUES (2, 'MARYSAONA', '5bc8478 
Saludos
  #6 (permalink)  
Antiguo 14/04/2003, 19:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues el error es bien "claro" :
"Base de datos no seleccionada" ...

Cuando creas unas tablas en una "base de datos" .. tienes que indica CUAL .. vas a usar en tus consultas .. así q te faltan por lo menos un:

mysql_select_db("base_datos");

Si eso lo haces en tu include("conexion.php") .. no sé como le pasaras el nombre de la BD que ha de usar (en tus variables de configuración no lo veo ..) En tal caso .. te recomiendo que te hagas una función de lo que tengas en "conexion.php" y le pases como parámetro a la función el nombre de la Base de datos donde se ha de crear esas tablas que va hacer tu instalador.

El último error .. el de sintax de SQL .. eso te sucede porqué Mysql NOO puede ejecutar mas de un "query" a la vez .. Tal vez me digas "lo hago con phpMyadmin" y me vá .. OK, pero es que phpMyadmin separa esas consultas y las ejecuta UNA a UNA en un bucle.

Podrías usar un explode() al caracter ";" (punto y coma) para obtener un array y leer ese array de "cosultas" con un bucle foreach() para hacer dentro del bucle un mysql_query() con cada elemento (ahora, consulta SQL de INSERT individual) ...

O simplemente metes esos INSERT sin el ; del final en un array y los ejecutas como te acabo de mencionar ..

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; 14/04/2003 a las 19:57
  #7 (permalink)  
Antiguo 14/04/2003, 19:55
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
gracias nuevamente cluster voy hechar andar eso... y te aviso...


Saludos
  #8 (permalink)  
Antiguo 14/04/2003, 19:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
adex .. Revisa lo último que puse .. q lo "añadí" (me acordé despues de darle al "publicar" xD)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 14/04/2003, 20:05
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
tienes razon cluster la ultima accion no lo procesa... voy hacer lo que me dijiste y te aviso...

Saludos:
  #10 (permalink)  
Antiguo 14/04/2003, 20:33
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
cluster !!!
Muchiiiiiiiiiiiiiiisiiiiiiiiiiiiiimas Gracias......, ahora si anda bien mi install.php ....

Saludos:
  #11 (permalink)  
Antiguo 14/04/2003, 20:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. para que alguien le pueda ayudar .. sería interante que colocases la solución final (incluye tu conexion.php codigo par que sea completo ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 14/04/2003, 20:40
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
si cluster... asi lo hare...
limpio un par de cosillas y la pego aca..
  #13 (permalink)  
Antiguo 14/04/2003, 20:57
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Código PHP:
conexion.php
¯¯¯¯¯¯¯¯¯¯¯¯
<?php
$hostbd 
"localhost";            //El Host De La Base De Datos
$loginBaseDatos "usuario";        //Login Para Conectarnos Con El Host
$passwordBaseDatos "tuclave=password";//Password Para Conectarnos Con El Host 
$nombreBaseDatos "basedetados";    //Nombre DB
###################################
if(!mysql_connect("$hostbd","$loginBaseDatos","$passwordBaseDatos"))
{
    echo 
"No Se Ha Podido Conectar A La Base de Datos, Revise El Password O Login!.";
    exit();
}
if(!
mysql_select_db("$nombreBaseDatos"))
{
    echo 
"Error Seleccionando La Base De Datos!.";
    exit();
}
###################################

?>

install-SQL.php
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
<?php
include("conexion.php");
// crear Usuarios
$Usuario1 "juan";
$Password1 "juancito";
$Nombre1 "juan pablo octavo";
$Correo1 "[email protected]";
// .................

// configurar nombre de las tablas
$NoticiasData "DAT_articulo1";
$NoticiasEnviadas "ENV_articulo1";
$NoticiasAdminUser "ADM_articulo1";

// 1.- Crear Tabla para la Data 

$sql "CREATE TABLE $NoticiasData (";
$sql .= "id int(11) NOT NULL auto_increment,";
$sql .= "titulo varchar(150) NOT NULL default '',";
$sql .= "titulo2 varchar(150) NOT NULL default '',";
$sql .= "noticia longtext NOT NULL,";
$sql .= "lugar varchar(100) NOT NULL default '',";
$sql .= "fecha_dia int(11) NOT NULL default '0',";
$sql .= "fecha_mes varchar(15) NOT NULL default '',";
$sql .= "fecha_anio int(11) NOT NULL default '0',";
$sql .= "oficina varchar(100) NOT NULL default '',";
$sql .= "mostrar enum('0','1') NOT NULL default '0',";
$sql .= "hits int(11) NOT NULL default '0',";
$sql .= "enviado int(11) NOT NULL default '0',";
$sql .= "id_int int(11) NOT NULL default '0',";
$sql .= "imagen longtext NOT NULL,";
$sql .= "PRIMARY KEY  (id)";
$sql .= ") TYPE=MyISAM;";


echo 
"Instalando Tabla para el contenido de Noticias $NoticiasData...";

if(
mysql_query($sql))
{
    echo 
"$NoticiasData INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// 2.- Crear Tabla para los enviados

$sql "CREATE TABLE $NoticiasEnviadas (";
$sql .= "id_enviado int(11) NOT NULL auto_increment,";
$sql .= "de varchar(50) NOT NULL default '',";
$sql .= "para varchar(50) NOT NULL default '',";
$sql .= "mensaje longtext NOT NULL,";
$sql .= "id_letra int(11) NOT NULL default '0',";
$sql .= "PRIMARY KEY  (id_enviado)";
$sql .= ") TYPE=MyISAM;";


echo 
"Instalando Tabla De Noticias Enviadas $NoticiasEnviadas ...";

if(
mysql_query($sql))
{
    echo 
"$NoticiasEnviadas INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// 3.- Crear Tabla de Usuarios 

$sql "CREATE TABLE $NoticiasAdminUser (";
$sql .= "id_admin int(11) NOT NULL auto_increment,";
$sql .= "uid varchar(50) NOT NULL default '',";
$sql .= "pwd varchar(50) NOT NULL default '',";
$sql .= "nombre varchar(50) NOT NULL default '',";
$sql .= "correo varchar(50) NOT NULL default '',";
$sql .= "PRIMARY KEY  (id_admin)";
$sql .= ") TYPE=MyISAM;";

echo 
"Instalando Tabla De $NoticiasAdminUser ...";

if(
mysql_query($sql))
{
    echo 
" <b> $NoticiasAdminUser </b> INSTALADA EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}

echo 
"<BR>";

// insertar primer USUARIO para la Administracion con password encriptado ;) 

$sql ="INSERT INTO $NoticiasAdminUser VALUES (1, '".$Usuario1."',password('".$Password1."'), '".$Nombre1."', '".$Correo1."')";

echo 
"Creando administradores <b>[$NoticiasAdminUser]</b>...";

if(
mysql_query($sql))
{
    echo 
"tabla $NoticiasAdminUser de ADMINISTRACION INSTALADO EXITOSAMENTE";
}
else
{
    echo 
"ERROR, IMPOSIBLE INSTALAR, MySql Error:".mysql_error();
}
?>


<!--// Fin!!!! -->
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 16:25.