通过php连接mysql并传输数据

实验环境:phpstudy,phpstorm,mysql

试验流程:

1:编写php及html文件,实现数据录入功能。

<?php
if (isset($_POST["submit"])){
    // 1. 获取对应表单
    $username = $_POST["username"];
    $password = $_POST["password"];
    $repassword = $_POST["repassword"];
    $email = $_POST["email"];
    $headimg = $_FILES["headimg"];

    //      a.数据进行验证  几个数据不能为空
    if(strlen($username) == 0 ||
        strlen($password) == 0 ||
        strlen($repassword) == 0 ||
        strlen($email) == 0
    ){
        die("数据不能为空");
    }

    //     b. 重复密码需要和密码内容一致
    if ($password != $repassword){
        die("两次输入密码不一致");
    }
    //    c.  用户格式
    //    d.  邮箱格式
    //    e.  头像格式
    //         1.需要是图片格式  png jpg gif
    //         2.大小   200K以内

    // name 文件名
    // tmp_name  临时路径
    // size  文件大小
    // 后缀名必须是jpg  png  gif
    // 通过时间重命名文件  后缀名和源文件一样
    //  a. 获取后缀名
     $filename = $headimg["name"];
     //    获取最后一个点的位置

     $pos = strripos($filename,"."); // 从右往左找
//   $pos = strpos($filename,".");  从左往右找
     //     截取后缀名
     $ext = substr($filename,$pos);
     //   b  对后缀名进行安全验证
     if ($ext != ".png" && $ext != ".jpg" && $ext != ".gif"){
         die("文件格式不正确");
     }
     if ($headimg["size"] >= 200*1024){
         die("文件过大");
     }
     // c   拼接新的文件名    时间戳  拼接上原来的后缀名
    $filename = "upload/".time().$ext;
//    echo $filename;
    // d   完成图片上传
//    $filename, $destination
    $result = move_uploaded_file($headimg["tmp_name"], $filename);
    if ($result == false){
        die("头像上传失败");
    }
    // 2 连接数据库
    $conn = mysqli_connect("localhost","root","root","luntan");
    mysqli_set_charset($conn,"utf8");
    $password = md5($password);
    //3 执行SQL语句
    $sql = "INSERT INTO `users` (`username`, `password`, `email`, `headimg`) VALUES ( '$username', '$password', '$email', '$filename')";
    $result = mysqli_query($conn,$sql);
    if ($result == true){
        echo "注册成功";
    }else{
        echo "注册失败";
        echo mysqli_error($conn);
    }
    // 4 关闭数据库连接

    mysqli_close($conn);







}
?>



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
    <h1>用户注册</h1>
    <p>用户名</p>
    <input type="text" name="username">
    <p>密码</p>
    <input type="password" name="password">
    <p>重复密码</p>
    <input type="password" name="repassword">
    <p>头像</p>
    <input type="file" name="headimg">
    <p>邮箱</p>
    <input type="email" name="email">
    <br>
    <input type="submit" name="submit" value="register">
</form>
</body>
</html>

2:验证功能:

通过php连接mysql并传输数据

通过php连接mysql并传输数据

实验结论:成功实现php连接mysql并达成数据传输。