Foros del Web » Programando para Internet » PHP »

el query no es valido

Estas en el tema de el query no es valido en el foro de PHP en Foros del Web. El query no es valido No logro abilitar el prefijo de las tablas. ya que cuando ejecuto el script me dice " el query no ...
  #1 (permalink)  
Antiguo 19/08/2003, 20:51
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
el query no es valido

El query no es valido
No logro abilitar el prefijo de las tablas. ya que cuando ejecuto el script me dice " el query no es valido


Código PHP:
<?php
$user 
"";    /* Nombre de usuario */
$server "";   /* Servidor */
$pass "" ;   /* Password */
$extencion "mdw_"/* Prefijo de las tablas */

$link = @mysql_connect ("$server""$user""$pass") or die ("no se pudo lograr la coneccion") ; 
mysql_select_db("tgmappe_forum",$link) or die ("no se pudo seleccionar la base de datos") ;
        
$result mysql_query ("CREATE TABLE" .$extencion."datos ( 
ID int(11) DEFAULT '0' NOT NULL auto_increment, 
nombre varchar(100), 
apellido varchar(100), 
email varchar(100),
pais varchar(100),
probincia varchar(100),
PRIMARY KEY (ID), 
UNIQUE ID (ID) 
); 
"
)
    or die (
"El query no es valido");
    


    
    
    
mysql_close ($link);
?>
__________________
-- May The Force Be With You --
  #2 (permalink)  
Antiguo 19/08/2003, 20:58
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
mira este ejemplo

·················· FICHERO: install.php
Código PHP:
<?php
$sql_host 
"localhost"// Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario "xxxx"// Usuario de Mysql
$sql_pass "xxxx"// contraseña de Mysql

/*CARGAMOS LA BASE DE DATOS*/
$sql_db "attack"// Base de datos que se usará el post, haz esta base de datos en tu servidor y luego ejecuta el install.php

/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla "attack"//Nombre de la tabla que contendrá los datos de los usuarios

/*CONECTAMOS CON MYSQL*/
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);

/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl "id,ip,date,navegador,referer,idioma,valida"//Campos de Registro Administradores BD

/*CARGAMOS MODULO DE ERRORES*/
$Err01 "No se pudo realizar la consulta a la Base de datos"//ERROR MYSQL DE CONEXION: COMPRUEBA SI LOS DATOS DE CONEXION CON TU MYSQL SON CORRECTOS...?


echo <<< HTML
<html>
 <head>
 <title>Attack Install: Sencillo script para bloquear la entra a IP'S no deseadas</title>
 </head>
 <body bgcolor="#ffffff" link="#0000FF" alink="#0000FF" vlink="#0000FF">
 <center><h1>ATENCION: Instalacion de la Base de Datos</h1><hr>
 <font face="Verdana" size="2" color="Maroon">Se va a realizar la instalacion de la Base de Datos y sus Tablas.<br>
 <font color="Navy">Compruebe que sus datos son correctos antes de pulsar:<br><br>
 Nombre del Servidor: <font color="Maroon">$sql_host<br></font>
 Nick Usuario Mysql: <font color="Maroon">$sql_usuario<br></font>
 Password Usuario Mysql: <font color="Maroon">$sql_pass<br></font>
 Nombre de la Base de Datos: <font color="Maroon">$sql_db<br></font>

 <br><br>Si los datos son correctos: pulsa <a href="install.php?accion=install">aqui</a><br><br>Si no son correctos configura el fichero <font color="Maroon">aut.config.inc.php</font></center><br><br>
HTML;

if (
$accion=="install") {
mysql_connect("$sql_host""$sql_usuario""$sql_pass") or die ("Error en la conexion Mysql >>> Configura bien el archivo aut.config.inc.php");
mysql_select_db("$sql_db") or die ("Error en la conexion Mysql >>> Configura bien el archivo aut.config.inc.php");

mysql_query("DROP TABLE IF EXISTS attack");
mysql_query("
CREATE TABLE attack (
  `id` bigint(255) NOT NULL auto_increment,
  `ip` varchar(15) NOT NULL default '000.000.000.000',
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `navegador` varchar(255) NOT NULL default '',
  `referer` varchar(255) NOT NULL default '',
  `idioma` varchar(10) NOT NULL default '',
  `valida` varchar(5) NOT NULL default '',
  KEY `id` (`id`)
) TYPE=MyISAM
"
) or die ("ERROR : tabla no creada");
echo 
"<b>attack tabla creada</b>...<br>";
echo 
"<br>Ha sido creada la tabla..No se han encontrado errores<br><br><b><font color=#FF0000>Porfavor, borre ahora el fichero install.php de su servidor !!!</font></b>";
}
echo <<< HTML
</body></html>
HTML;
?>
·················· FICHERO: install.php


fijate en esto....

Código PHP:
mysql_query("DROP TABLE IF EXISTS attack");
mysql_query("
CREATE TABLE attack (
  `id` bigint(255) NOT NULL auto_increment,
  `ip` varchar(15) NOT NULL default '000.000.000.000',
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `navegador` varchar(255) NOT NULL default '',
  `referer` varchar(255) NOT NULL default '',
  `idioma` varchar(10) NOT NULL default '',
  `valida` varchar(5) NOT NULL default '',
  KEY `id` (`id`)
) TYPE=MyISAM 
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 19/08/2003 a las 21:01
  #3 (permalink)  
Antiguo 19/08/2003, 21:15
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
que bueno... y? en que momento entra la variable $extencion ??
__________________
-- May The Force Be With You --
  #4 (permalink)  
Antiguo 19/08/2003, 21:28
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
una pregunta muy sencilla...? si vas a crear la tabla... para que quieres las extensiones....??? directamente pon el nombre entero...

Código PHP:
mysql_query("DROP TABLE IF EXISTS mdw_datos");
mysql_query("
CREATE TABLE mdw_datos (
ID int(11) DEFAULT '0' NOT NULL auto_increment, 
nombre varchar(100), 
apellido varchar(100), 
email varchar(100),
pais varchar(100),
probincia varchar(100),
PRIMARY KEY (ID), 
UNIQUE ID (ID) 
) TYPE=MyISAM 
__________________
3w.valenciadjs.com
3w.laislatv.com
  #5 (permalink)  
Antiguo 19/08/2003, 22:20
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
Por que 1º no estoy creando solamente esta tabla y 2º que el que quiera el script se lo dare ya que la extencion de la tabla sera modificable
__________________
-- May The Force Be With You --
  #6 (permalink)  
Antiguo 19/08/2003, 23:17
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
ok,ok.ok.ok pensaba que hacias una tabla o varias una sola vez... creo que me equivoque, lo que quieres es crear tablas automaticamente, tipo un foro... con todos los registros y tal... ok... entendi.. perdona...
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 19/08/2003, 23:23
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Código PHP:
$result mysql_query ("CREATE TABLE {$extencion}datos ( 
ID int(11) DEFAULT '0' NOT NULL auto_increment, 
nombre varchar(100), 
apellido varchar(100), 
email varchar(100),
pais varchar(100),
probincia varchar(100),
PRIMARY KEY (ID), 
UNIQUE ID (ID) 
); 
"
)
    or die (
"El query no es valido"); 
Creo que así debe funcionarte...

O prueba tan solo agregando el espacio que le hace falta, tal vez eso sea el problema...

("CREATE TABLE" .$extencion."datos ( MAL

("CREATE TABLE " .$extencion."datos ( BIEN


Saludos!!
__________________
Manoloweb
  #8 (permalink)  
Antiguo 20/08/2003, 14:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Casi seguro que es lo que dice Manoloweb, pero como para consejo en las consultas (al menos en la fase de desarrollo), pon en el or die() la funcion mysql_error(), para ver el mensaje de error de MySQL:
Código PHP:
or die ("El query no es valido. MySQL dice: ".mysql_error()); 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 20/08/2003, 15:09
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
¿a que no adivinan que era?
El query no es valido. MySQL dice: Table 'mdw_datos' already exists

Que aria sin josemi?
__________________
-- May The Force Be With You --
  #10 (permalink)  
Antiguo 20/08/2003, 15:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bien, esa es una buena razon. Si revisas en mysql.com la sintaxis de CREATE TABLE, creo recordar que existe una clausula IF [NOT] EXISTS para solo crear la tabla si antes existia o no. Si ya existia se carga los datos. Asi no te causara error. Tambien podrias dejarla tal cual, y usando la funcion mysql_errno() (www.php.net/mysql_errno) hacer un if y mostrar un mensaje de "Tabla ya existe" si el numero de error coincide con el de tabla ya existe.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 20/08/2003, 15:27
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
Como finalizo un mensaje en foros del web?
__________________
-- May The Force Be With You --
  #12 (permalink)  
Antiguo 20/08/2003, 18:47
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
No hay razón para Finalizar el post, ya que en general sirve como referencia para consultas futuras de otros usuarios (o incluso de ti mismo).

Simplemente terminará por pasar a las páginas subsecuentes mientras no haya mas posts en el.

Saludos!
__________________
Manoloweb
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 04:46.