为了账号安全,请及时绑定邮箱和手机立即绑定

无法写入mysql数据库

无法写入mysql数据库

PHP
慕桂英4014372 2024-01-19 10:19:00
我使用 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 下:<?phpclass 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;  }}我没有收到任何错误,并且在我的数据库中绝对没有出现任何内容:数据库用户:希望有人能帮助我解决这个问题。
查看完整描述

1 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

  1. 属性语法错误namename="email"不应该的name"email",大家都一样。您不会收到任何错误,因为代码甚至没有执行,$_POST['createaccount']也没有设置。

  2. 在查询中,INSERT INTO您还应该指定列名,因此查询将变为INSERT INTO users (username, email, password) VALUES (:username, :email, :password),假设您的表上有自动增量id主键。


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 65 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信