Foros del Web » Programando para Internet » PHP »

Consulta error Query en php

Estas en el tema de Consulta error Query en php en el foro de PHP en Foros del Web. Hola gente del foro tengo la siguiente consulta para realizarles, tengo una query que me cra un base de datos y las tablas que la ...
  #1 (permalink)  
Antiguo 20/06/2011, 14:48
Avatar de lozanoguido  
Fecha de Ingreso: junio-2011
Mensajes: 33
Antigüedad: 12 años, 9 meses
Puntos: 0
Exclamación Consulta error Query en php

Hola gente del foro tengo la siguiente consulta para realizarles, tengo una query que me cra un base de datos y las tablas que la conforman, pero al asignar toda esta consulta a un stringn y querer ejecutarlo, no me crea la db ni las tablas, pero al pegar la misma query en phpMyadmin si me la crea....
el error que me tira por codigo es el siguiente :

;You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USE glozano3; CREATE TABLE IF NOT EXISTS amigos ( user1 char(12) NOT N' at line 2


pero no se que significa o que es lo que no esta correcto, si alguien me podria ayudar, pego la consulta:

$Mastercreation = "
CREATE DATABASE ".$administrador." DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE ".$administrador.";



CREATE TABLE IF NOT EXISTS amigos (
user1 char(12) NOT NULL,
user2 char(12) NOT NULL,
PRIMARY KEY (user1,user2)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



CREATE TABLE IF NOT EXISTS generos (
genero char(25) NOT NULL,
PRIMARY KEY (genero)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



CREATE TABLE IF NOT EXISTS peliculas (
Nombre varchar(100) COLLATE utf8_spanish_ci NOT NULL,
año varchar(4) COLLATE utf8_spanish_ci NOT NULL,
genero varchar(15) COLLATE utf8_spanish_ci NOT NULL,
descripcion text COLLATE utf8_spanish_ci NOT NULL,
imagen int(11) NOT NULL,
ID int(11) NOT NULL,
Borrar tinyint(1) NOT NULL,
PRIMARY KEY (`Nombre`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;



CREATE TABLE IF NOT EXISTS preferidas (
user char(12) NOT NULL,
pelicula char(100) NOT NULL,
id_film int(11) NOT NULL,
PRIMARY KEY (user,pelicula)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;




CREATE TABLE IF NOT EXISTS usuarios (
nombre varchar(20) COLLATE utf8_spanish_ci NOT NULL,
apellido char(30) COLLATE utf8_spanish_ci NOT NULL,
email char(50) COLLATE utf8_spanish_ci NOT NULL,
user char(12) COLLATE utf8_spanish_ci NOT NULL,
pass char(32) COLLATE utf8_spanish_ci NOT NULL,
sexo char(1) COLLATE utf8_spanish_ci NOT NULL,
favorito char(20) COLLATE utf8_spanish_ci NOT NULL,
privilegios tinyint(1) NOT NULL COMMENT '1 = administrador 0 = usuario',
estado tinyint(1) NOT NULL COMMENT '0 = activo 1 = inactivo',
PRIMARY KEY (user)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;


INSERT INTO usuarios (nombre, apellido, email, user, pass, sexo, favorito, privilegios, estado) VALUES
('".$administrador."', '".$pass."', '[email protected]', 'admin', '21232f297a57a5a743894a0e4a801fc3', 'M', 'Acción', 1, 0);";

$result = mysql_query($Mastercreation)or die(mysql_error());
  #2 (permalink)  
Antiguo 20/06/2011, 14:55
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Consulta error Query en php

Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USE glozano3; CREATE TABLE IF NOT EXISTS amigos ( user1 char(12) NOT N' at line 2


pero no se que significa o que es lo que no esta correcto, si alguien me podria ayudar, pego la consulta:

$Mastercreation = "
CREATE DATABASE ".$administrador." DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE ".$administrador.";
creo estas poniendo (;)punto y coma de mas prueba quitandole el que esta antes de USE
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 20/06/2011, 14:56
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Consulta error Query en php

Hola prueba esto

Código PHP:
Ver original
  1. $sql=mysql_query("INSERT INTO usuarios (nombre, apellido, email, user, pass, sexo, favorito, privilegios, estado) VALUES('".$administrador."', '".$pass."', '[email protected]', 'admin', '21232f297a57a5a743894a0e4a801fc3', 'M', 'Acción', 1, 0 )") or die(mysql_error());

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #4 (permalink)  
Antiguo 20/06/2011, 15:22
Avatar de lozanoguido  
Fecha de Ingreso: junio-2011
Mensajes: 33
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta error Query en php

Cita:
Iniciado por PIRRUMAN Ver Mensaje
creo estas poniendo (;)punto y coma de mas prueba quitandole el que esta antes de USE

tenia dudas sobre el ( ; ) pero ahora no recuerdo si luego de cada instrucción de sql debería utilizar algún símbolo de fin en la cadena de texto donde armo la query, igual sacandole ese punto y coma sigo con un error parecido :S

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USE prueba; CREATE TABLE IF NOT EXISTS amigos ( user1 char(12) NOT NUL' at line 2"
  #5 (permalink)  
Antiguo 20/06/2011, 15:32
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Consulta error Query en php

Cita:
$Mastercreation = "
CREATE DATABASE ".$administrador." DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE ".$administrador.";
bueno eso fue proponiendo algo

otro detalle q veo es que te hace falta unas comillas dobles ,, tienes 5 en total supongo es la principal la del inicio de la variable

tambien podrias probar en sustituir las vcariables $administrador por tu constante para verificar si tu concatenacion puede causar errores

algo asi como :
$Mastercreation = "
CREATE DATABASE gonzalo DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE gonzalo";
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #6 (permalink)  
Antiguo 20/06/2011, 15:45
Avatar de lozanoguido  
Fecha de Ingreso: junio-2011
Mensajes: 33
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta error Query en php

Muchas gracias Pirruman por las respuestas ;) no usaba constantes por que me imprimo la variable $Mastercreation para ver si toma el nombre de las variables y obtengo este resultado :

CREATE DATABASE gonzalo DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci USE gonzalo; CREATE TABLE IF NOT EXISTS amigos ( user1 char(12) NOT NULL, user2 char(12) NOT NULL, PRIMARY KEY (user1,user2) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS generos ( genero char(25) NOT NULL, PRIMARY KEY (genero) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS peliculas ( Nombre varchar(100) COLLATE utf8_spanish_ci NOT NULL, año varchar(4) COLLATE utf8_spanish_ci NOT NULL, genero varchar(15) COLLATE utf8_spanish_ci NOT NULL, descripcion text COLLATE utf8_spanish_ci NOT NULL, imagen int(11) NOT NULL, ID int(11) NOT NULL, Borrar tinyint(1) NOT NULL, PRIMARY KEY (`Nombre`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci; CREATE TABLE IF NOT EXISTS preferidas ( user char(12) NOT NULL, pelicula char(100) NOT NULL, id_film int(11) NOT NULL, PRIMARY KEY (user,pelicula) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS usuarios ( nombre varchar(20) COLLATE utf8_spanish_ci NOT NULL, apellido char(30) COLLATE utf8_spanish_ci NOT NULL, email char(50) COLLATE utf8_spanish_ci NOT NULL, user char(12) COLLATE utf8_spanish_ci NOT NULL, pass char(32) COLLATE utf8_spanish_ci NOT NULL, sexo char(1) COLLATE utf8_spanish_ci NOT NULL, favorito char(20) COLLATE utf8_spanish_ci NOT NULL, privilegios tinyint(1) NOT NULL COMMENT '1 = administrador 0 = usuario', estado tinyint(1) NOT NULL COMMENT '0 = activo 1 = inactivo', PRIMARY KEY (user) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci; INSERT INTO usuarios (nombre, apellido, email, user, pass, sexo, favorito, privilegios, estado) VALUES ('gonzalo', '202cb962ac59075b964b07152d234b70', '[email protected]', 'admin', '21232f297a57a5a743894a0e4a801fc3', 'M', 'Acción', 1, 0)


Gracias por sus aportes!

Etiquetas: query
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 01:39.