Foros del Web » Programando para Internet » ASP Clásico »

[SOLUCIONADO] Verificar si existe un registro en MySQL

Estas en el tema de Verificar si existe un registro en MySQL en el foro de ASP Clásico en Foros del Web. Hola a todos, creo que no seré el primero ni el ultimo en preguntar esto. Tengo el siguiente codigo strSQL2 = "SELECT * FROM T_LIDL ...
  #1 (permalink)  
Antiguo 18/08/2012, 09:23
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid (España)
Mensajes: 162
Antigüedad: 12 años
Puntos: 5
Verificar si existe un registro en MySQL

Hola a todos, creo que no seré el primero ni el ultimo en preguntar esto.

Tengo el siguiente codigo

strSQL2 = "SELECT * FROM T_LIDL WHERE Aviso = '"&login&"'"
Set objRS2 = ConexionLIDL.Execute(strSQL2)

Necesito saber con un if si la sentencia strSQL2 ha encontrado alguna coincidencia, basicamnete es para evitar que se repitan datos en la base de datos.
  #2 (permalink)  
Antiguo 18/08/2012, 11:43
Avatar de corh861212  
Fecha de Ingreso: julio-2012
Ubicación: en el estado de mexico
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 3
Mensaje Respuesta: Verificar si existe un registro en MySQL

Hola espero poderte ayudar en algo la veradad yo lo aria de esta forma no se si sea la mejor pero resulta....
Código PHP:
$dbhost='localhost'// Servidor
$dbusername='daniel'// Nombre de usuario
$dbuserpass=''// Contraseña
$dbname='punto'// Nombre de la base de datos
    
$link=mysql_connect($dbhost,$dbusername,$dbuserpass);
    
mysql_select_db($dbname)or die('no se puede seleccionar la base de datos');
        if (
$_POST['submit']){//esto es si es precionado el boton de submit
            
if(isset($_POST['finaldeoferta'])&&!empty($_POST['finaldeoferta'])&&
            isset(
$_POST['nombre'])&&!empty($_POST['nombre'])&&
            isset(
$_POST['anuncio'])&&!empty($_POST['anuncio'])){
            
$nombre=htmlentities($_POST['nombre']);//esto es esto <input name="nombre" type="text" >        
            
$fin=explode("-",$_POST['finaldeoferta']);//esto es esto <input name="finaldeoferta" type="text" >             
            
$inicio=explode("-",date"j-n-y"));//recuerda esta es la fecha de entrada y es dada por el sistema 
            
$anuncio=htmlentities($_POST['anuncio']);//esto es <input name="anuncio" type="text" value="te amo elvira" > 
                
$query ="SELECT username FROM datos WHERE username='$nombre'";
                
$row mysql_query($query,$link) or die (mysql_error());//selecciona username desde usuarios donde username sea $nombre
                
$ray mysql_num_rows($row);//lo hace
                
if ($ray ){//y si almenos obtubo uno es porque ya existe un nombre igual y sale del programa
                
echo "nombre repetido";
                exit();}
                
//con esta sentencia introducimos los datos a nuestra base de datos
                    
mysql_query ("INSERT INTO datos (username,anuncio,fechafin,fechaini) 
                    VALUES ('{$nombre}','{$anuncio}','"
.$fin[2]."-".$fin[1]."-".$fin[0]."','".$inicio[2]."-".$inicio[1]."-".$inicio[0]."')",$link);            
                    
$my_error=mysql_error($link);
                    if(!empty(
$my_error)){
                    
$a3 ="Error al introducir datos.$my_error";
                    echo
"Error al introducir datosssssssssss.$my_error";
                    }else{
                    
mysql_free_result($queEmp);
                    echo
"Los datos han sido introducidos satisfactoriamente";

            
            
            }
            echo
"faltan datos";
        }
}
$x=date("j-n-y");//esta es la fecha de inicio que se aloja en -> x 
Código HTML:
<form name="form1" method="post" action="fac.php">
<span style="color:#000; font-size:12px;">Nombre</span><br>
<input name="nombre" type="text" ><br><br>
<span style="color:#000; font-size:12px;">Anuncio</span><br>
<input name="anuncio" type="text" value="te amo elvira" ><br><br>
<span style="color:#000; font-size:12px;">Fecha de inicio</span><br>
<input name="iniciodeoferta" type="text" value="<?echo "$x";?>" ><br><br>  
<span style="color:#000; font-size:12px;">Fecha final (dd,mm,aa) </span><br>
<input name="finaldeoferta" type="text" ><br><br>
<input name="submit" type="submit">
</form>


  #3 (permalink)  
Antiguo 18/08/2012, 11:53
Avatar de corh861212  
Fecha de Ingreso: julio-2012
Ubicación: en el estado de mexico
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 3
Respuesta: Verificar si existe un registro en MySQL

Asi lo tienes tu
strSQL2 = "SELECT * FROM T_LIDL WHERE Aviso = '"&login&"'"
Set objRS2 = ConexionLIDL.Execute(strSQL2)

Asi lo pondria yo
$query ="SELECT username FROM datos WHERE username='$nombre'";
$row = mysql_query($query,$link) or die (mysql_error());//selecciona username desde usuarios donde username sea $nombre
$ray = mysql_num_rows($row);//lo hace
if ($ray > 0 ){//y si almenos obtubo uno es porque ya existe un nombre igual y sale del programa
echo "nombre repetido";
exit();}


y eso es todo cambiar strSQL2 por mysql_query y luego usar mysql_num_rows para asignar un numero en este caso 1 a un posible reg en la base de datos y ya por ultimo
if ($ray > 0 ){
echo "nombre repetido";
exit();}


si tienes dudas comenta y no olvides karma chao

aqui hay un ejemplo http://www.corporacion-metalica.com/ funciona de la misma forma pero con otros datos
  #4 (permalink)  
Antiguo 20/08/2012, 03:21
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid (España)
Mensajes: 162
Antigüedad: 12 años
Puntos: 5
Respuesta: Verificar si existe un registro en MySQL

No es para hacer un login, el login ya lo tengo echo, lo que necesito no es sacar los datos de ese campo, eso si se hacerlo, simplemente necesito algo como un boolean que me diga si existe ese dato/s o en caso contrario no existe en la base de datos.
  #5 (permalink)  
Antiguo 20/08/2012, 08:16
Avatar de corh861212  
Fecha de Ingreso: julio-2012
Ubicación: en el estado de mexico
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 3
Respuesta: Verificar si existe un registro en MySQL

ya se que te puse lo de un login pero si te fijas bien es en esta parte donde verifica si existe un dato seleccionado por (msql_num_rows) en la base de datos si es asi pues te regresa si existe alguna coinsidencia asi ($ray=(1) quiere desir que ya hay un reg en la base de datos o si $ray=(0)quiere desir que no hay coinsidencia ) despues con el if ($ray > 0 ) decides que hacer, ya sea una alerta un echo etc. puedes adaptarlo a tu necesidades
chao banda
Código PHP:
$query ="SELECT username FROM datos WHERE username='$nombre'";
                
$row mysql_query($query,$link) or die (mysql_error());//selecciona username desde usuarios donde username sea $nombre
                
$ray mysql_num_rows($row);//lo hace
                
if ($ray ){//y si almenos obtubo uno es porque ya existe un nombre igual y sale del programa
                
echo "aqui hay coincidencia";
                exit();}

echo 
"aqui no hay coincidencia"

Última edición por corh861212; 20/08/2012 a las 08:31
  #6 (permalink)  
Antiguo 23/08/2012, 03:33
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid (España)
Mensajes: 162
Antigüedad: 12 años
Puntos: 5
Respuesta: Verificar si existe un registro en MySQL

Muchas gracias pero no se como adaptarlo a ASP :S
  #7 (permalink)  
Antiguo 03/10/2013, 09:08
 
Fecha de Ingreso: septiembre-2013
Mensajes: 18
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Verificar si existe un registro en MySQL

pregunta alguna forma de imprimir el nombre de la coinsidencia.
  #8 (permalink)  
Antiguo 08/10/2013, 05:21
 
Fecha de Ingreso: abril-2012
Ubicación: Madrid (España)
Mensajes: 162
Antigüedad: 12 años
Puntos: 5
Respuesta: Verificar si existe un registro en MySQL

if not ObjRS.eof then ' si no termina de leer la base de datos es por que si existe el dato que buscas
'la accion que tu quieras
else
'la otra acción
end if

otra opción seria usar record count, a mi me gusta mas la anterior, pero para gustos los colores

Etiquetas: mysql, registro, verificar
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 17:10.