ホームページ >バックエンド開発 >PHPチュートリアル >mysql_query 例外、解決策
mysql_query エラー、解決策
データベース内のユーザー名とパスワードは両方とも MD5 で暗号化されています
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)."' および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 関数自体に問題があるか、間違った結果が返されている可能性があります。
ユーザー名='".md5($username)."' およびパスワード='".md5($password)."'";