3

現在、次のスクリプトで問題が発生しています。スクリプトを実行すると、「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);
?>

よろしくお願いいたします。

4

2 に答える 2

9

以下の種類のクエリに変更mysqlして使用します。完全に使用mysqliすることはできません。mysqlmysqli

$query = mysqli_query($con, "SELECT * FROM mybb_users WHERE `username` = '$username' LIMIT 1");
$row = mysqli_fetch_array($query);
于 2013-05-08T05:41:17.997 に答える