2011-07-16 143 views
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,謝謝

相關問題