注册 sql语句+后端PHP文件

432 阅读2分钟

我们要验证注册的账户是不是已经存在,我们需要连接数据库,在数据库中进行搜索。

涉及的知识点:
    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是有很多弊端的,如会暴露信息等】