現在、次のスクリプトで問題が発生しています。スクリプトを実行すると、「Connection was OK!」というメッセージが表示されます。ただし、次のメッセージも表示されます。
警告: mysql_query() は、パラメーター 2 がリソースであると想定します。11 行目の /opt/lampp/htdocs/worldofclucky.net/scripts/auth.php で指定されたオブジェクトです。
警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定します。null は、12 行目の /opt/lampp/htdocs/worldofclucky.net/scripts/auth.php で指定されます。
私が間違っていることは何ですか?私は PHP/MySQL の専門家とはほど遠いので、自分自身を初心者とは考えていません...いくつかのテストを行ったところ、$username 変数は前のページから正しく送信SELECT * FROM forum.mybb_users WHERE username = 'x_clucky' LIMIT 1
されており、MySQL クライアントに入力すると、得られると期待されるすべての情報を提供します。PHPコードは次のとおりです。
<?php
$username=$_POST["username"];
$hashed_password = md5($_POST['password']); /* For MyBB its $mybb->input['password'] */
$con=mysqli_connect("worldofclucky.net","clucky","CENSORED","forum");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
} else { echo "Connection was OK!\n";}
$query = mysql_query("SELECT * FROM mybb_users WHERE `username` = '$username' LIMIT 1",$con);
$row = mysql_fetch_array($query);
$encrypted_password = md5(md5($row['salt']).$hashed_password);
if($encrypted_password == $row['password']) {
echo "<script>alert('test');</script>";
}
mysqli_close($con);
?>
よろしくお願いいたします。