como realizar una consulta sql sin los datos estan repetidos pero en 2 campos

iniciopublic Seguir

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Hola a todos , quisiera saber si se puede realizar una consulta de 2 campos en la base de datos , si los campos estan repetidos no realizar el registro , pero lo que me refiero que sea la comdicion de los 2 campos sean repetidos , por ejemplos : Campo1 : A Campo2 : 5 si hay otro registro que tengan los mismos datos no realize el registro , pero puede realizar otro registo como : Campo1 : B Campo2 : 5 osea que un campo puede estar repetido y realizar el registro , pero si los 2 estan repetidos no realizarlo

¿Me entienden?

este es el codigo que estoy tratando de hacer :

PHP:
 $sql_i="insert into logindocente(nombre,apellido,username,password,preguntas,respuestas)
      values('".$nombre."','".$apellido."','".$id."','".$contrasena."','".$ps."','".$resp."')";
           
       $check=0;
      $sql = "select * from logindocente where nombre='".$nombre."'";
      $result = mysql_query($sql);
      $total = mysql_num_rows($result);
      

      if ($total > 0)
      {
          $check=1;
      }
      if($check==1)
{
echo("El "nombre" Ya se encuentra en nuestra base de datos</B></FONT>");
}
      else{
        
    $result = mysql_query($sql_i);
if (! $result){
echo "La consulta SQL contiene errores.".mysql_error();
}

else
{
	echo "<center><font color='RED'>DATOS INSERTADOS CORRECTAMENTE</font><aref='#'>Volver</a>";
}

Este solo realiza para un campo ¿como puedo hacer para 2 campos?



saludos
 

jpmaster

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
22 Jun 2011
Mensajes
480
prueba asi

PHP:
$verifica = mysql_query("SELECT nombre, apellido FROM logindocente WHERE nombre = '$nombre' AND apellido = '$apellido' ");
if(!mysql_num_rows($verifica))
{
 //si no existen ni nombre ni apellido insertar
 mysql_query("INSERT INTO logindocente(nombre, apellido, etc, etc) VALUES('$nombre','$apellido','$etc','$etc')");
}
else
{
 printf('ya existe %s y %s', $nombre, $apellido);
}

claro que tienes que cambiar los campos de acuerdo a tu criterio
 

diegomvsc2

Dseda
Programador
Verificado por Whatsapp
Desde
31 May 2010
Mensajes
1.053
asi es es con AND en el where tienes

where nombre='".$nombre."'"

le agregas al final AND mas la siguiente condicion y asi etc..

where nombre='".$nombre."' AND apellido='".$apellido."'
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
prueba asi

PHP:
$verifica = mysql_query("SELECT nombre, apellido FROM logindocente WHERE nombre = '$nombre' AND apellido = '$apellido' ");
if(!mysql_num_rows($verifica))
{
 //si no existen ni nombre ni apellido insertar
 mysql_query("INSERT INTO logindocente(nombre, apellido, etc, etc) VALUES('$nombre','$apellido','$etc','$etc')");
}
else
{
 printf('ya existe %s y %s', $nombre, $apellido);
}

claro que tienes que cambiar los campos de acuerdo a tu criterio
Gracias , no tome tu codigo , solo uan parte y me funciono lo hize asi :

PHP:
$check=0;
      $sql = "select * from logindocente where nombre='$nombre' AND apellido = '$apellido'";
      $result = mysql_query($sql);
      $total = mysql_num_rows($result);

saludos
 

victorvu

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Feb 2013
Mensajes
118
Lo unico que tengo para decirte es que este problema es xq tu base de datos no esta bien planteada y te va a traer problemas adelante
 

UnderD

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Sep 2013
Mensajes
36
Lo que tienes que hacer es que esos dos campos creen un índice de tipo UNIQUE, o en todo caso, que esos dos campos sean el PRIMARY KEY, si haces eso, la base de datos no te permitirá repetir dos veces el mismo conjunto.

Saludos :encouragement:
 
Arriba