簡體   English   中英

MySql不返回任何東西

[英]MySql doesn't return anything

我只是在用PHP和MySql來學習東西……直到現在一切都很好,但是現在我找不到任何解決方案。 該基礎是一個非常簡單的登錄系統。 現在,我試圖從名為“ login”的數據庫中讀取用戶名和密碼,該數據庫具有表“ userTBL”以及字段“ username”和“ password”。

 <?php 
    session_start();

    mysql_connect ('localhost', 'root', 'root') or die('NO MYSQL CONNECTION!');
    mysql_select_db('login');  

    if ($_GET['login']) {
        $username = ($_POST['username']);
        $password = ($_POST['password']);

        $tmp = mysql_query("SELECT * FROM `user`");

        $data = mysql_fetch_array($tmp);

        if($tmp) {
            echo 'FULL<br />';
        } else {
            echo 'EMPTY<br />';
        }

        $_SESSION['username'] = $data['username'];
        $_SESSION['password'] = $data['password'];

         if ($username == $_SESSION['username'] && $password == $_SESSION['password']) {
             $_SESSION['loggedin'] = true;
             header("Location: protected.php");
             exit;
         } else echo "Wrong details!<br />";
    }
    if ($_SESSION['loggedin'] == true) {
        header("Location: protected.php"); 
    }
?>

看來數據庫不會返回任何內容,但是為什么呢?

謝謝你的幫助!

您提到您的表名為“ userTBL”,但您正在查詢表“ user”。 將查詢更改為:$ tmp = mysql_query(“ SELECT * FROM userTBL WHERE username = {$ username} AND password = {$ password}”); “ WHERE”子句將確保查詢僅返回與鍵入表單的用戶名和密碼匹配的數據。

    <?php 
    session_start();

    mysql_connect ('localhost', 'root', 'root') or die('NO MYSQL CONNECTION!');
    mysql_select_db('login');  

    if ($_GET['login']) {
        $username = htmlspecialchars($_POST['username']);
        $password = htmlspecialchars($_POST['password']);

        $tmp = mysql_query('SELECT * FROM `userTBL` WHERE `user` = "'.$username.'"');

        while ($data = mysql_fetch_array($tmp))
        {
            $_SESSION['username'] = $username;
            $_SESSION['password'] = $data['password'];

         if ($password == $_SESSION['password']) {
             $_SESSION['loggedin'] = true;
             header("Location: protected.php");
             exit;
         } else echo "Wrong details!<br />";
         }
    }
    if ($_SESSION['loggedin'] == true) {
        header("Location: protected.php"); 
    }
?>

另外:使用salt + hash將密碼存儲在數據庫中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM