php
  • mysql
  • 2011-07-16 30 views 0 likes 
    0

    システムにログインするためのクエリは、ローカルで正常に動作しますが、サーバーにアップロードされたときに正常に動作します。 PHPでは何も返しません。サーバーでMysqlのクエリが動作していませんが、ローカルで正常に動作しています

    "SELECT `UserID` 
        FROM `" . DB_NAME . "`.`Login` 
        WHERE `UserName` = '" . $UserName . "' 
        AND `UserPassword` = '" . $Password . "';" 
    

    ...と、ここに私のPHPコードは次のとおりです:ここにクエリがある

    $UserName = $_POST['txtUserName']; 
    $Password = md5($_POST['txtPassword']); 
    
    $qry = "SELECT `UserID` 
          FROM `" . DB_NAME . "`.`Login` 
         WHERE `UserName` = '" . $UserName . "' 
          AND `UserPassword` = '" . $Password . "';"; 
    
    $result = mysql_query($qry); 
    
    session_start(); 
    
    if ($result) { 
        if (mysql_num_rows($result) > 0) { 
         //Login Successful 
         session_regenerate_id(); 
         $User = mysql_fetch_assoc($result); 
         $_SESSION['UserID'] = $User['UserID']; 
         session_write_close(); 
         mysql_close(); 
         exit(); 
        } else { 
         //Login failed 
         mysql_close(); 
         die('Invalid UserName and Password combination...'); 
        } 
    } else { 
        mysql_close(); 
        die('Query failed...' . mysql_error()); 
    } 
    

    返される出力は次のとおりです。

    Query failed...

    +5

    Anddddd ...エラーは何ですか? http://php.net/manual/en/function.mysql-error.phpまた、SQLインジェクションを広く利用しています。パラメータ化されたクエリなどでPDOを調べます。 – Brad

    +0

    dbの後に 'echo $ qry'、ユーザ名とパスワードが文字列に設定されています。 –

    +0

    'PHPMyAdmin'のエラーの詳細を確認する場所 –

    答えて

    1

    As no one has responded in the answers area. I want to reply the post myself for future clarification of anyone arriving here and seeing this post.

    問題は、テーブルの名前であった。私はLoginと綴りましたが、元のテーブル名はloginでした。

    なぜこのことがサーバー上にのみ表示されたのか分かりません。つまり、マシン上でローカルで正常に動作していましたが、問題はサーバーにのみ届いていました。

    クエリのテーブル名の名前を変更して問題を解決しました。

    HTH、ありがとう、

    関連する問題