2

コード全体:

<?php 

if (isset($_POST['usname']) && isset($_POST['pasw'])){

    $username = mysql_ramznegar($_POST['usname'],$link);
    $password = mysql_ramznegar($_POST['pasw'],$link);

$query = "SELECT * FROM `admin` WHERE `usname` = $username";
    $admin_result = mysql_query($query,$link);
    $admin_result = mysql_fetch_array($query,MYSQL_ASSOC);

    if($admin_result['usname']==$username && $admin_result['passw']==$password){


            if($admin_result[usname] == "admin"){

            $_SESSION['auth'] = 1;

                redirect("panel");

                   exit;                                

    }
     else{

        echo 'ur username or password is invalid';
        redirect("index.php");
     }


}

}

?>

2つの列を持つテーブル(admin)を持つデータベースがあります。最初の列はでusname、2番目の列はですpassw。それでも、ユーザー名とパスワードを入力すると、コンパイラがこのエラーを表示します。このコンパイラの警告を解決するにはどうすればよいですか。

警告:mysql_fetch_array()は、パラメーター1がリソースであると想定しています。文字列はC:\ xampp \ htdocs \ ramznegar1\index.phpの60行目にあります。

変更する必要があります

$ admin_result = mysql_fetch_array($ query、MYSQL_ASSOC)

$ admin_result = mysql_fetch_array($ admin_result、MYSQL_ASSOC)

コードを編集しましたが、このエラーが発生しました。

警告:mysql_fetch_array()は、パラメーター1がリソースであると想定しています。ブール値はC:\ xampp \ htdocs \ ramznegar1\index.phpの60行目にあります。

新しいコードは次のとおりです:http://pastebin.com/ycNT0XqM

4

2 に答える 2

2

変更する必要があります:

$query = "SELECT * FROM `admin` WHERE `usname` = $username";
$admin_result = mysql_query($query,$link);
$admin_result = mysql_fetch_array($query,MYSQL_ASSOC);

$query = "SELECT * FROM `admin` WHERE `usname` = $username"; 
$admin_result = mysqli_query($query,$link); 
$admin_result = mysqli_fetch_array($admin_result,MYSQL_ASSOC);

mysql_fetch_arrayの動作については、 http://php.net/manual/en/function.mysql-fetch-array.phpを参照してください。

于 2012-10-10T21:46:59.333 に答える
1

変更する必要があります

 $admin_result = mysql_fetch_array($query, MYSQL_ASSOC)

 $admin_result = mysql_fetch_array($admin_result, MYSQL_ASSOC)

PHP DOC ON mysql_ *

この拡張機能の使用はお勧めしません。代わりに、MySQLiまたはPDO_MySQL拡張機能を使用する必要があります。詳細については、MySQL:APIガイドの選択および関連するFAQも参照してください。この機能の代替手段は次のとおりです。

于 2012-10-10T21:46:11.683 に答える