我数据库里username和password都是MD5加密的
<?php
session_start();
require_once '../data/config.inc.php';
//获取帐号密码POST提交
if (isset ( $_POST ["username"] )) {
$username = mysql_real_escape_string($_POST ["username"]);
} else {
$username = "";
}
if (isset ( $_POST ["password"] )) {
$password = mysql_real_escape_string($_POST ["password"]);
} else {
$password = "";
}
if (empty($username)||empty($password)){
exit("<script>alert('用户名或密码不能为空!');window.history.go(-1)</script>");
}
$sql="select * from admin where username='".md5($username)."' and password='".md5($password)."'";
//验证
echo $sql;
$re=mysql_query($sql);
print_r(mysql_fetch_array($re));
echo $re;
if(mysql_query($sql)){
echo "OK";
}
else{
exit("<script>alert('用户名或密码不正确!');window.history.go(-1)</script>");
}
?>
其他都正确,SQL语句正确,所以,问题应该在mysql_query哪里,怎么弄啊,输入正确密码还是错误!
------解决方案--------------------
打印一下
echo $sql; 的内容,
看看md5之后的跟数据库里面的是否真的相等。也许你的md5函数本身就有问题,或者返回了不正确的结果。
username='".md5($username)."' and password='".md5($password)."'";