註冊 sql語句+後端PHP檔案

前端小鐵人發表於2019-10-16

我們要驗證註冊的賬戶是不是已經存在,我們需要連線資料庫,在資料庫中進行搜尋。

涉及的知識點:
    1.後端PHP
    2.模擬資料庫的搭建(通過XAMPP) 【將在下一章進行介紹】
    
一、對資料庫進行連線:
    <?php
        $conn = new mysqli("localhost","root","","marvel");
        //這裡通過PHP的物件建立,之後往這個物件中傳引數
            第一個引數為本地主機
            第二個引數與第三個引數為賬戶密碼,第四個引數為資料庫名稱
            
        if($conn->connect_error) {
            echo "資料庫連結失敗".$conn->connect_error;
            return;
        }else{
            // echo "連線資料庫成功"
        };
        //設定PHP讀取資料庫的編碼格式,這樣的話是防止出現亂碼的情況
        $conn->query('set names utf8');
        
        
        //連線資料庫成功之後,我們需要通過sql語句,在資料庫建立的表中,搜尋你註冊的賬戶名是否存在.
        //在此PHP檔案中,我們先是需要提取在之前的HTML檔案中的使用者名稱
        $user = $_GET['username'];
        $pw = $_GET['password'];
        $sql = "
            SELECT `id` FROM `users`
            WHERE `users`.`username` = '$user'
        ";
        【sql語句是個特別嚴謹的存在,注意引號的使用】
        $ret = $conn->query($sql);
        【PHP語句書寫程式碼的格式真的是讓人匪夷所思,如上文的“->”,它相當於“.”,希望大家能熟悉】
        
        我們執行$sql語句之後,物件$ret有一個屬性,為num_rows,我們通過檢視它的值來查詢資料庫中是否有我們已經存在的使用者名稱,如果大於0,就存在。
        if($ret->bun_rows>0) {
            echo "使用者名稱已經存在"
        }else{
            //如果不存在,則將該使用者名稱和密碼插入表中,需再次使用sql語句
            【注意的是,我們之前提取的是使用者名稱和密碼,在查詢時我們用到的只是使用者名稱,但是現在因為使用者名稱的不存在,一併把密碼存入表中,方便我們在寫登入頁面時,搜尋使用者名稱和密碼,因為在登入頁只有密碼是不夠的】
            $sql = "
                INSERT INTO `users`
                (`id`,`username`,`password`,`age`,`gengder`)
                VALUES
                (NULL,'$user','$pw','18','male')
            ";
            //再次執行sql語句
            $ret = $conn->query($sql);
            if($ret) {
                echo "註冊成功"
            }else{
                echo "註冊失敗"
            }
        }
        $conn->close();
        //同一時間連線資料庫的連結數量是有限的,所以我們在使用資料庫之後,我們需要將資料庫關閉。
    ?>
    
    【自己又當前段和後端的感覺是也別的好呀,其實前後端的資料互動遠沒有如此簡單。我彷彿看到了java大叔的微微一笑。我們只是利用XAMPP自己模擬建立資料庫。利用DOM事件onblur,在失去焦點時通過ajax來傳送get請求,向資料庫中搜尋。並且ajax傳送get是有很多弊端的,如會暴露資訊等】複製程式碼

相關文章