无法写入mysql数据库

我使用 HTML、JS 和 CSS 工作了多年,现在需要进一步使用 MySql(我使用 localhost phpMyAdmin)和 PHP。我正在尝试将数据发送到我的数据库。但我没有收到任何错误,而且我不知道出了什么问题。

这是我的register.php:


    <?php

    include('classes/db.php');

    

    if (isset($_POST['createaccount'])) {

      $username = $_POST['username'];

      $email = $_POST['email'];

      $password = $_POST['password'];

    

      db::query('INSERT INTO users VALUES (\'\', :username, :email, :password)', array(':username'=>$username, ':email'=>$email, ':password'=>$password));

      echo "Success!";

    }

    ?>

    

    <h1>REGISTER</h1>

    <form action="register.php" method="post">

      <input type="text" name"username" vlaue="" placeholder="Username">

      <input type="email" name"email" vlaue="" placeholder="E-Mail">

      <input type="password" name"password" vlaue="" placeholder="Password">

      <input type="submit" name"createaccount" vlaue="Register">

    </form>

这是我的 db.php,位于classes/db.php 下:


<?php

class db {

  private static function connect() {

    //db inf, username, pwd

    $pdo = new PDO('mysql:host=127.0.0.1;dbname=emergencybase;charset=utf8', 'root', '');

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    return $pdo;

  }


  public static function query($query, $params = array()) {

    $statement = self::connect()->prepare($query);

    $statement->execute($params);

    //$data = $statement->fetchAll();

    //return $data;

  }

}

我没有收到任何错误,并且在我的数据库中绝对没有出现任何内容:

数据库用户:

https://img1.sycdn.imooc.com/65a9dc2e0001c98402420029.jpg

希望有人能帮助我解决这个问题。

慕桂英4014372
浏览 66回答 1
1回答

汪汪一只猫

属性语法错误name。name="email"不应该的name"email",大家都一样。您不会收到任何错误,因为代码甚至没有执行,$_POST['createaccount']也没有设置。在查询中,INSERT INTO您还应该指定列名,因此查询将变为INSERT INTO users (username, email, password) VALUES (:username, :email, :password),假设您的表上有自动增量id主键。
打开App,查看更多内容
随时随地看视频慕课网APP