首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接一个php页面到mySql

问连接一个php页面到mySql
EN

Stack Overflow用户
提问于 2017-11-03 23:52:12
回答 1查看 50关注 0票数 0

我有一个问题连接任何php页面到MySQL,我是新手php,我尝试了所有我能在网上找到的,但没有一个有效。我试着下载了一个php表单,并为这个页面创建了一个数据库,但它仍然没有向数据库添加任何东西。

代码语言:javascript
复制
<html>

<link href="//db.onlinewebfonts.com/c/a4e256ed67403c6ad5d43937ed48a77b?family=Core+Sans+N+W01+35+Light" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="form.css" type="text/css">
<div class="body-content">
  <div class="module">
    <h1>Create an account</h1>

    <?php
session_start();
$_SESSION['message'] = '';
$mysqli = new mysqli("127.0.0.1", "root", "", "accounts_complete");

//the form has been submitted with post
if ($_SERVER["REQUEST_METHOD"] == "POST") {

    //two passwords are equal to each other
    if ($_POST['password'] == $_POST['confirmpassword']) {

        //set all the post variables
        $username = $mysqli_real_escape_string($_POST['username']);
        $email = $mysqli_real_escape_string($_POST['email']);
        $password = md5($_POST['password']); //md5 has password for security
        $avatar_path = $mysqli_real_escape_string('images/'.$_FILES['avatar']['name']);

        //make sure the file type is image
        if (preg_match("!image!",$_FILES['avatar']['type'])) {

            //copy image to images/ folder 
            if (copy($_FILES['avatar']['tmp_name'], $avatar_path)){

                //set session variables
                $_SESSION['username'] = $username;
                $_SESSION['avatar'] = $avatar_path;

                //insert user data into database
                $sql = "INSERT INTO users (username, email, password, avatar) "
                        . "VALUES ('$username', '$email', '$password', '$avatar_path')";

                //if the query is successsful, redirect to welcome.php page, done!
                if ($mysqli_query($sql) === true){
                    $_SESSION['message'] = "Registration succesful! Added $username to the database!";
                    header("location: welcome.php");
                }
                else {
                    $_SESSION['message'] = 'User could not be added to the database!';
                }
                $mysqli_close();          
            }
            else {
                $_SESSION['message'] = 'File upload failed!';
            }
        }
        else {
            $_SESSION['message'] = 'Please only upload GIF, JPG or PNG images!';
        }
    }
    else {
        $_SESSION['message'] = 'Two passwords do not match!';
    }
}
?>


    <form class="form" action="form.php" method="post" enctype="multipart/form-data" autocomplete="off">
      <div class="alert alert-error"><?= $_SESSION['message'] ?></div>
      <input type="text" placeholder="User Name" name="username" required />
      <input type="email" placeholder="Email" name="email" required />
      <input type="password" placeholder="Password" name="password" autocomplete="new-password" required />
      <input type="password" placeholder="Confirm Password" name="confirmpassword" autocomplete="new-password" required />
      <div class="avatar"><label>Select your avatar: </label><input type="file" name="avatar" accept="image/*" required /></div>
      <input type="submit" value="Register" name="register" class="btn btn-block btn-primary" />
    </form>
  </div>
</div>
</html>

密码为空,因为没有任何密码。你能帮帮我吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-11-04 00:24:06

实际上有很多错误,但基于关于数据库的问题:

  1. mysqli_语法是一个函数,而不是一个变量。因此,您只需删除任何初始$ at mysqli_语法。
  2. 在mysqli,您需要将连接变量传递给mysqli_函数的第一个参数。

示例:

之前:$mysqli_query($sql);

之后:mysqli_query($mysqli, $sql)

和

之前:$mysqli_close();

之后:mysqli_close($mysqli)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47099728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档