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

  • Autor Autor iniciopublic
  • Fecha de inicio Fecha de inicio
iniciopublic

iniciopublic

Préstamo
Ómicron
Verificación en dos pasos activada
Verificado por Whatsapp
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
 
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
 
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."'
 
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
 
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
 
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:
 
Atrás
Arriba