ホームページ > バックエンド開発 > PHPチュートリアル > PHP がログイン インターフェイスをコンパイルする際のエラー リソース ID #4

PHP がログイン インターフェイスをコンパイルする際のエラー リソース ID #4

WBOY
リリース: 2016-06-13 13:26:40
オリジナル
900 人が閲覧しました

php でログイン インターフェイスを記述するときにエラーが発生しました。リソース ID #4

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?
    session_start();
    require "connect.inc.php";
    if($_GET["action"]=="login"){
        $UserName=$_POST["UserName"];      //从表单获取用户名
        $Password=md5($_POST["Password"]); //从表单获取密码
        $authority=$_POST["authority"];    //从表单获取单选框值
                //若单选项值为admin,即管理员身份
        if($authority=="admin"){
                //sql命令
        $sql="select * from  admin_login where UserName='{$UserName}' and Password='{$Password}'";
            $result=mysql_query($sql); 
                        //尝试输出$result,结果返回Resource id #4,是出错吗?
                        echo $result;
            if(mysql_fetch_array($result)>0){
                 $row=mysql_fetch_assoc($result);
                $_SESSION["UserName"]=$UserName;
                $_SESSION["islogin"]=1; 
                header("Location:index.php");
            }
            else{
                echo '<font color=red size=14px>用户名或密码错误</font>';
        }
?>
ログイン後にコピー


上記のコードを使用してログインを処理すると、常にエラーが報告されます。アドバイスをお願いします! !緊急! !

-----解決策--------------------------------
エラーはありません。 mysql_query() は、クエリ結果セットのリソース識別子 (メモリ ポインタとみなすことができます) を返します。
コードの問題は、結果セットが空かどうかを判断する方法が間違っていることです。クエリがデータを返す場合、ポインタは mysql_fetch_array() メソッドを呼び出した後に移動します (各呼び出しは、 が指すレコードを返します)。現在のポインター、次にポインターは次のレコードを指します)。

空のセットかどうかを判断する方法は、mysql_num_rows() を使用することです:
PHP コード
//if(mysql_fetch_array($result)>0){
if (mysql_num_rows($result) > 0) {
...
<br><font color="#e78608">------解決策----------------------</font><br>mysql_query() は成功した場合にリソースタイプを返します。 変数、クエリが失敗した場合は、ブール型の false を返します。 Echo は文字列の出力に使用され、出力したい変数は文字列にキャストする必要があるため、リソース ID #4<br><br>mysql_fetch_array($result) を取得します。配列またはブール値を返します。値は false です。数値と直接比較することはできません。最初に数値にキャストする必要があります。その後、似たような関数で mysql_fetch_assoc() を使用しましたが、これはエラーだらけでした<br><br>チュートリアルで教えられている場合は、できるだけ早くこのチュートリアルを諦めたほうがよいでしょう。自分で書いた場合は、まず公式マニュアルの基本事項、型に関する部分、および mysql 一連の関数の説明を読んでください <br> http://www.php.net/manual/zh/ language.types .intro .php<br>http://www.php.net/manual/zh/book.mysql.php <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート