Autor
|
Tema: Sacar un unico dato de un registro en una tabla. (Leído 21,604 veces)
|
MinusFour
|
Primeramente, todo este código debería estar en el archivo donde haces el registro. Yo he puesto registrar(); para hacer notar que ahi va el código que usas para registrar al usuario. Y tienes $mail en lugar de $email, uno tiene que cambiarse.
|
|
|
En línea
|
|
|
|
XXXXXX
|
entonces seria <?php include ('config.php'); $usuario=$_POST['usuario']; $password=$_POST['password']; $sexo=$_POST['sexo']; $mail=$_POST['mail']; // Verificar si existe el email
if(mysql_num_rows(mysql_query("SELECT email FROM tabla WHERE email = '$mail' LIMIT 1")){
// Insertar datos despues de verificar $db_handle = "INSERT INTO `login` (userid, user_pass, sex, email) VALUES ('$usuario','$password','$sexo','$mail')";
mysql_query($db_handle);
} else{ echo "Error: el email ya está en uso"; } ?>
|
|
« Última modificación: 22 Junio 2010, 21:58 pm por tomeu00 »
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
jajaajjaja XDDD.... Que haces man??? por lo menos probar los codigos antes de postearlo xD. Aunque no es la forma correcta de hacerlo funcionara ya que devolverá 1 si existe... 0 si no existe... Y pasara el if a ejecutarse... Ej: <?php ?>
Devuelve: Aunque la forma mas comoda es la que dice "."] [/quote] mysql> CREATE TABLE clientes( nombre CHAR(20) UNIQUE); Query OK, 0 ROWS affected (0.20 sec) mysql> INSERT INTO clientes (nombre) VALUES ('yoya'); Query OK, 1 ROW affected (0.14 sec) mysql> INSERT INTO clientes (nombre) VALUES ('yoya'); ERROR 1062 (23000): Duplicate entry 'yoya' FOR KEY 'nombre'
|
|
« Última modificación: 22 Junio 2010, 22:26 pm por ~ Yoya ~ »
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
XXXXXX
|
ahora si que ya me e perdido del todo....
Primero mira que no este duplicado, y luego inserta, entonces.... no veo por ningun lado eso en el primer codigo, y en el segundo, eso es php? o que es?
podrias explicarme un poco como funciona el segundo codigo?
|
|
|
En línea
|
|
|
|
MinusFour
|
Lo que Yoya quiere decir es que en donde haces:
Esto devuelve un valor entero que representa el número de registros que consigues de la consulta. Lo que haciamos era compararlo con 0 (mysql_num_rows(..) == 0) cosa que a tí se te ha olvidado poner en el último código que pusiste. Ahora, como tienes un if(mysql_num_rows(..)) lo que hará es evaluar el número como falso o verdadero, donde para php todos los números enteros son verdaderos y el 0 es negativo. Entonces, si la consulta devuelve que hay un registro con ese email devolvera un número entero diferente de 0 lo cual significa que es positivo. Entonces al evaluar nos queda así. if(1){ registrar(); else{ echo "Error: emáil ya registrado"; }
Lo cual significa que le estás diciendo a php, si existe una persona con ese email dejalo registrarse y si no existe una persona con ese email no lo dejes registrarse y mandale el error. En pocas palabras, está alrevez. Pon la comparación (el == 0) o cambia el registrar en el else y el echo dentro del if. Y lo que te ha puesto Yoya después son queries para la creación de una tabla con un campo unique.
|
|
|
En línea
|
|
|
|
XXXXXX
|
ahora supongo que si, <?php $conexion = mysql_connect("localhost", "root", "pasdjsoaj"); mysql_select_db("ej", $conexion); echo mysql_num_rows(mysql_query("SELECT nombre FROM clientes WHERE nombre = 'yoya' LIMIT 1"));
if(1){ registrar(); // Aquí que va? tengo que llenar con algo? }else{ echo "Error: emáil ya registrado"; } ?>
no lo e probado, porque no se donde tendria que poner el valor para que luego si esta OK enviara, supongo que donde pone registrar() tendria que poner el codigo de registro correcto?
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
man, ya lo tienes hecho.... <?php include ('config.php'); $usuario=$_POST['usuario']; $password=$_POST['password']; $sexo=$_POST['sexo']; $mail=$_POST['mail']; // Verificar si existe el email // Insertar datos despues de verificar $db_handle = "INSERT INTO `login` (userid, user_pass, sex, email) VALUES ('$usuario','$password','$sexo','$mail')"; } else{ echo "Error: el email ya está en uso"; } ?>
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
XXXXXX
|
el dreamweaver me dice que tiene 2 errores, en la linea 12 i 20, y en el navegador me dice.
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\web2\mods\coma\cp\enviareg.php on line 12
falta alguna cosa de "}" estas no?
|
|
|
En línea
|
|
|
|
MinusFour
|
ahora supongo que si, <?php $conexion = mysql_connect("localhost", "root", "pasdjsoaj"); mysql_select_db("ej", $conexion); echo mysql_num_rows(mysql_query("SELECT nombre FROM clientes WHERE nombre = 'yoya' LIMIT 1"));
if(1){ registrar(); // Aquí que va? tengo que llenar con algo? }else{ echo "Error: emáil ya registrado"; } ?>
no lo e probado, porque no se donde tendria que poner el valor para que luego si esta OK enviara, supongo que donde pone registrar() tendria que poner el codigo de registro correcto? A ver, te estás confundiendo. El código era para explicar, no era exactamente código... Si tu tienes: <?php registrar(); ] else{ echo "Mensaje de error"; } ?>
El código entrará por el IF únicamente si existe una persona con ese email. Si lo pones de está forma: <?php registrar(); ] else{ echo "Mensaje de error"; } ?>
Entrará por el IF únicamente si NO existe una persona con ese email. Tienes que leer mi post para entender porque. Y no solo estár leyendo y copiando código :/, nada más fijate lo que has copiado: "SELECT nombre FROM clientes WHERE nombre = 'yoya' LIMIT 1" <-- esta consulta que tiene que ver con tu problema actual? Repito, ponte a leer lo que copias y tratar de entender.
|
|
|
En línea
|
|
|
|
XXXXXX
|
esque los 2 me estais diciendo cosas distintas y me estoy liando de mala manera, ahora ya no se donde va nada y no me limito simplemente a copiar y pegar... el me puso un codigo, tu me pones otro, o os poneis de acuerdo, o me hago una empanada mental.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Crear link con dato de un registro de una bd
« 1 2 3 4 »
PHP
|
Brian1511
|
30
|
9,957
|
25 Julio 2013, 19:29 pm
por EFEX
|
|
|
Cómo Seleccionar un dato si existe en otra tabla?
Bases de Datos
|
WHK
|
4
|
6,354
|
26 Agosto 2013, 17:56 pm
por 1mpuls0
|
|
|
ayuda con editar un dato en tabla con sqlite
Java
|
clupin
|
0
|
1,501
|
27 Julio 2014, 22:02 pm
por clupin
|
|
|
Actualizar un dato de una tabla
PHP
|
bgnumis
|
4
|
3,428
|
1 Abril 2015, 20:54 pm
por engel lex
|
|
|
Sacar dato de una select sql en php y html
PHP
|
jamatbar
|
1
|
2,319
|
21 Noviembre 2020, 09:06 am
por jamatbar
|
|