Foros del Web » Programando para Internet » PHP »

q es lo q hago mal?

Estas en el tema de q es lo q hago mal? en el foro de PHP en Foros del Web. hola: por mas q leo el manual de mysql.com no encuentro el fallo, por q no me funciona el insert? Código PHP: $consulta  =  mysql_db_query ...
  #1 (permalink)  
Antiguo 14/03/2003, 08:07
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 15 años, 11 meses
Puntos: 1
q es lo q hago mal?

hola:

por mas q leo el manual de mysql.com no encuentro el fallo, por q no me funciona el insert?

Código PHP:
$consulta mysql_db_query("aviso","SELECT COUNT(*) FROM usuario WHERE name='$usuario' AND pass='$pass'");
if (
mysql_num_rows($consulta)==0)
 { 
 
$insertSQL sprintf("INSERT INTO usuario (id_usuario, name, pass) VALUES (%s, '$usuario', '$pass')",
                       
GetSQLValueString($HTTP_POST_VARS['id_usuario'], "int"),
                       
GetSQLValueString($HTTP_POST_VARS['name'], "text"),
                       
GetSQLValueString($HTTP_POST_VARS['pass'], "text"));

  
mysql_select_db($database$aviso);
  
$Result1 mysql_query($insertSQL$aviso) or die(mysql_error());
 echo 
'usuario: '.$usuario.' y contraseña: '  .$pass.' validos';
  }
else
 { 
 echo 
"Me temo que te has equivocado";
 } 

quiero q me haga el insert cuando:

no hay ninguna persona en la tabla usuario con el name y/o pass.
__________________
Muchas gracias, saludos.
  #2 (permalink)  
Antiguo 14/03/2003, 08:54
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
$consulta = mysql_db_query("aviso","SELECT COUNT(*) FROM usuario WHERE name='$usuario' AND pass='$pass'");

if (mysql_num_rows($consulta)==0)

Eso nunca ocurrira, porque COUNT() siempre devuelve un registro.
Prueba a usar esto:

mysql_db_query("aviso","SELECT COUNT(*) as num FROM usuario WHERE name='$usuario' AND pass='$pass'");
if (mysql_result($consulta, 0, "num") == 0)
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 14/03/2003, 09:03
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 15 años, 11 meses
Puntos: 1
de esta manera no me deja meter name/pass iguales a los de la tabla.
Pero si por ejemplo tengo ya esto en la tabla: pepe/pepa, si me deja meter pepe/pepon y Pepon/pepe y yo no quiero q me deje, ni con el mismo nombre y pass (por separado) y nombre/pass.

como lo hago?
__________________
Muchas gracias, saludos.
  #4 (permalink)  
Antiguo 14/03/2003, 09:15
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
En ese caso, formular mejor la consulta:

name='$usuario' OR pass='$pass
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 14/03/2003, 09:20
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 15 años, 11 meses
Puntos: 1
muchas gracias

muchisimas gracias.
__________________
Muchas gracias, saludos.
  #6 (permalink)  
Antiguo 14/03/2003, 09:58
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
De nada
__________________
M a l d i t o F r i k i
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 14:49.