no se trata de hacer magia... y probar todo !!!
es muy simple.... la columna
password de la BD ??
¿¿esta en formato MD5 ??? (si, ya se... es VARCHAR)
pero.... ¿cuando insertaste, guardaste el MD5 de la contraseña... o la contraseña sin MD5 ???
ahí esta la clave de tu problema.... que tu logística es inicua con lo que tienes en la BD
digamos que la BD es así...
| id | nick | pass |
| 2 | foo | bar |
| 3 | candy | 7aaa6b6723b6786b1bnd89zz0 |
| .. | ... | .... |
para comparar el ID=2 la contraseña no esta con MD5, osea... pasa directamente
en otro caso, debes emplear MD5 ... mira los ejemplos
Código PHP:
$pass = 'bar';
$SQL = "SELECT * FROM tabla WHERE pass='" . $pass . "'"; // directo ID=2
$SQL = "SELECT * FROM tabla WHERE pass='" . md5($pass) . "'"; // MD5 ID=???
// este otro ejemplo, funciona pero es absurdo...
// ya que sería idéntico a la primer comparación, solo que sin MD5 (lol)
$SQL = "SELECT * FROM tabla WHERE MD5(pass)='" . md5($pass) . "'"; // ambos ***
es muy sencillo, solo apegate a una forma de estas...
tanto puedes usar
md5 con PHP o SQL, es idéntico...
NOTA el hash de un
md5 es de 32 caracteres.... si el
VARCHAR de tu columna de
password no es de este tamaño (bueno, es obvia la deducción) falla...