-4

データベースから値を取得しようとしていますが、「mysql_fetch_array()はパラメーター1がリソースであると想定しており、15行目のC:\ wamp \ www \ kcms\a.phpでブール値が指定されています」というエラーが表示されます。誰かが私を助けることができますか?

    <?php
    //include 'functions.php';
    $con = mysql_connect("localhost","Akash","kaka123");
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }
    $student = false;
    $teacher = false;
    $office = false;
    $username = 56;
    $password = 38;
    $query= "SELECT Register_no , Password FROM student profile WHERE Register_no=$username AND Password=$password" ;
    $result = mysql_query($query, $con);
    $prnt=mysql_fetch_array($result);
    if ($prnt[0]==NULL) 
    {
        $auth=0;
    }
    else
    {
        $auth=1;
        $student= true;
    }
    if ($auth==0) 
    {
        $query= "SELECT Staff_id , Password FROM staff profile WHERE Staff_id=$username AND Password=$password" ;
        $result = mysql_query($query, $con);
        $prnt=mysql_fetch_array($result);
        if ($prnt[0]=NULL) 
        {
            $auth=0;
        }
        else
        {
            $auth=1;
            $teacher = true;
        }
    }    
    if ($auth==0) 
    {
        $query= "SELECT Staff_id , Password FROM office staff WHERE Staff_id=$username AND Password=$password" ;
        $result = mysql_query($query, $con);
        $prnt=mysql_fetch_array($result);
        if ($prnt[0]==NULL) 
        {
            $auth=0;
        }
        else
        {
            $auth=1;
            $office = true;
        }
    }
    echo $username; 
    ?>

誰かがすぐに返信できますか?

4

1 に答える 1

-1

エラーメッセージは実際には非常に正確で役に立ちます。mysql_fetch_array()リソースが期待されるブール値で呼び出されています。のドキュメントを見ると、ブール値である失敗時にmysql_query()返されることがわかります。FALSEこの値は に格納され$result、 に渡されmysql_fetch_array()ます。そのため、SQL クエリでエラーが発生します。次のようにエラーを確認できます。

$result = mysql_query("SELECT Register_no , Password FROM student profile WHERE Register_no=$username AND Password=$password") or die(mysql_error());

そうは言っても、「学生」と「プロフィール」の間にはスペースがあってはいけません。あなたはおそらくそこにアンダースコアを入れるつもりでしたか?

また、mysql_* 拡張機能は廃止されているため、代わりに MySQLi または PDO を使用することを検討してください。私はここで名前を落としているだけなので、時間をかけてこれらについて読んでください.

于 2013-02-05T17:47:42.437 に答える