Programación Web y Scripting > PHP

 Consultar En Dos Tablas Al Mismo Tiempo

<< < (3/3)

Altareum:

--- Citar ---SELECT tabla1.username,  tabla2.username
FROM tabla1
LEFT JOIN tabla2 ON ( tabla1.username = tabla2.username )
WHERE tabla1.username = "$usuario" AND tabla1.pass = "$clave"

--- Fin de la cita ---

De esta forma, si no hay registros en tabla 2 el segundo campo traerá NULL, y si no existe en tabla 1 no dará resultados.

Asumo que las claves en ambas tablas son la misma, o mejor dicho, que los registros son de tabla2 corresponden al mismo usuario que en tabla1, sin necesidad de chequear que las claves sean iguales, en todo caso, usa esto:

--- Citar ---LEFT JOIN tabla2 ON ( tabla1.username = tabla2.username AND tabla1.pass = tabla2.pass )
--- Fin de la cita ---

Altareum.

neorent:
Altareum:

muchas gracias por tu ayuda y guia bueno yo hice lo siguiente y quisiera saber pk me da el siguiente error este es el code:


--- Código: Text --- &#60;?php&#036;usuario=&#036;_POST['usuario'];&#036;clave=&#036;_POST['clave'];echo&#34;&#036;usuario, &#036;clave&#34;; &#036;conn = mysql_connect(&#34;localhost&#34;, &#34;root&#34;, &#34;&#34;);mysql_select_db(&#34;internet_db&#34;,&#036;conn);&#036;ssql = &#34;SELECT * FROM usuario WHERE nombre='&#036;usuario' and passw='&#036;clave'&#34;;&#036;sql=&#34;SELECT * FROM inscrito WHERE username='&#036;usuario' and clave='&#036;clave'&#34;;&#036;rs = mysql_query(&#036;ssql,&#036;conn);&#036;rs2= mysql_query(&#036;sql, &#036;conn);if (mysql_num_rows(&#036;rs)!=0)  {      &#036;autentificado = &#34;SI&#34;;    if (mysql_num_rows(&#036;rs2)!=0)      {        echo &#34;&#60;script&#62; top.location.href='portal/index.php'; &#60;/script&#62;&#34;;      }    else      {      echo &#34;&#60;script&#62; top.location.href='inscripcion.php?user=&#036;usuario&pass=&#036;clave'; &#60;/script&#62;&#34;;      }  }else  {    &#036;autentificado = &#34;NO&#34;;    echo &#34;&#60;script&#62; top.location.href='index.php'; &#60;/script&#62;&#34;;  }mysql_free_result(&#036;rs);mysql_close(&#036;conn);?&#62;  
y me da el siguiente error:

--- Código: Text --- user, passWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:&#092;easyphp1-8&#092;www&#092;validar.php on line 13  
me podrian ayudar nuevamente a ver en que estoy mal?, gracias,
saludos,
neo.

F_Tanori:
lo que pasa es que $rs no es un Resultset valido la consulta no te esta devolviendo resultados

yo lo haria de esta manera:


--- Código: Text ---SELECT u.* ,(SELECT i.usuario FROM inscritos i where i.usuario=u.usuario) EnTabla2 FROM usuarios u WHERE u.usuario='&#036;usuario' 

si el campo 'EnTabla2' devuelve NULL es que no esta en la tabla 2, si la consulta no devulve registros no esta en la Tabla 1

aunque supongo que si no esta en la tabla 1 no esta en la 2  :unsure: :P


yo te aconsejo que no busques las contraseñas a traves de SQL


--- Código: Text ---&#34;SELECT * FROM usuario WHERE nombre='&#036;usuario' and passw='&#036;clave'&#34;; 
Mejor toma  el resultado y compara aparte...



--- Código: Text ---&#036;rs = mysql_query(&#34;SELECT nombre,password FROM usuario WHERE nombre='&#036;usuario'&#34;,&#036;conn);&#036;pass=mysql_fetch_row(&#036;rs);&#036;pass=&#036;pass[1] if (&#036;pass[1] == &#036;clave)  {   .....  }  
Saludos

neorent:
estimados todos debo un gran disculpa

el error era que consultaba en la tabla usuario y realmente era usuarios pero bueno son cosas que pasan y agradesco la ayuda de todos ustedes muchisimas gracias se pasaron,
saludos,
neo.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa