Foros del Web » Programando para Internet » PHP »

Ayuda con consulta sql

Estas en el tema de Ayuda con consulta sql en el foro de PHP en Foros del Web. Buenas, Tengo la siguiente consulta que me inserta en tabla: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original mysql_query ( "insert into cliente (username,password,email,cif,nombre,apellidos,direccion,cp,provincia,ciudad,telefono,telefonofijo ) values (' ...
  #1 (permalink)  
Antiguo 22/01/2009, 08:14
 
Fecha de Ingreso: enero-2009
Mensajes: 92
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda con consulta sql

Buenas,

Tengo la siguiente consulta que me inserta en tabla:
Código php:
Ver original
  1. mysql_query("insert into cliente (username,password,email,cif,nombre,apellidos,direccion,cp,provincia,ciudad,telefono,telefonofijo ) values ('$_POST[username]','$_POST[password]','$_POST[email]','$_POST[cif]','$_POST[nombre]','$_POST[apellidos]','$_POST[direccion]','$_POST[cp]','$_POST[provincia]','$_POST[ciudad]','$_POST[telefono]','$_POST[telefonofijo]')");
Pero ahora necesito que me aga un "if" para que si el username y el password introducidos ya estan en mi base de datos no deje que se envien los datos y de lo contrario si no estan introducidos ya pues los introduzca. Alguien puede ayudarme?

Gracias

Última edición por GatorV; 22/01/2009 a las 10:26
  #2 (permalink)  
Antiguo 22/01/2009, 10:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con consulta sql

Hola ajcm84,

Tienes que hacer un SELECT previo a ese insert para comprobar si estan o no los datos que buscas, y si lo estan pues realizas un if() y compruebas, si lo estan muestras el mensaje de error, si no lo estan realizas el insert.

Saludos
  #3 (permalink)  
Antiguo 22/01/2009, 10:41
 
Fecha de Ingreso: enero-2009
Mensajes: 92
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con consulta sql

ya, pero tengo que recorrer antes mi tabla, no? Puedes decirme como es el codigo para recorrer una tabla?

Gracias!
  #4 (permalink)  
Antiguo 22/01/2009, 10:43
Avatar de mdague  
Fecha de Ingreso: septiembre-2008
Ubicación: Montevideo
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con consulta sql

No se me ocurre como poder hacerlo en una sola consulta..
Otra cosa que veo de tu codigo es que queda mas prolijo si te creas una variable
como por ejemplo $sql="SELECT .......";
y despues haces el mysql_query($sql,$db);
Salduos!!
  #5 (permalink)  
Antiguo 22/01/2009, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con consulta sql

No es necesario "recorrer" la tabla, simplemente un sql:
Código sql:
Ver original
  1. SELECT 1 FROM tabla WHERE USER='foo' AND pass='bar'

Te va a dar valores, entonces puedes usar mysql_num_rows() para verificiar si el valor es mayor a 0 es que hay un usuario con ese pass.

Saludos
  #6 (permalink)  
Antiguo 22/01/2009, 11:45
 
Fecha de Ingreso: enero-2009
Mensajes: 92
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con consulta sql

seria algo asi entonces?

SELECT 1 FROM cliente WHERE username=$_POST[username];

lo he probado con phpmyadmin y me sale el siguiente error:

#1064 - 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 '[ username ]
LIMIT 0, 30' at line 1

Saludos y gracias por la ayuda
  #7 (permalink)  
Antiguo 22/01/2009, 11:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con consulta sql

Pues claro tienes que darle algun valor correcto, SELECT 1 FROM cliente WHERE username="fulano".

Saludos
  #8 (permalink)  
Antiguo 22/01/2009, 11:55
 
Fecha de Ingreso: enero-2009
Mensajes: 92
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con consulta sql

pero es q el valor q yo kiero darlo es el que tengo en el formulario en el campo de texto username para que si está repetido me devuelva un 1 y sino pues un 0

saludos GatorV
  #9 (permalink)  
Antiguo 22/01/2009, 11:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con consulta sql

En ese caso esa parte la tienes que implementar en la lógica de tu script, no en el PHPMyAdmin.

Saludos
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 06:51.