注册表格无法将数据写入数据库

时间:2018-06-20 13:48:54

标签: php mysql

每次我尝试显示错误消息“无法将用户添加到数据库”时,我都观看了有关如何使用PHP和MySQL制作注册表的教程。这是我的代码:

   <?php
    session_start();

    $username = "";
    $email    = "";
    $password = "";

    $_SESSION['message']='';



    $db = mysqli_connect('localhost', 'root', '', 'registration');



    if($_SERVER['REQUEST_METHOD'] == 'POST'){
      if($_POST['password'] == $_POST['confirm-password']){
        $username = mysqli_real_escape_string($db, $_POST['username']);
        $email = mysqli_real_escape_string($db, $_POST['email']);
        $password = mysqli_real_escape_string($db, $_POST['password']);

        $query = "INSERT INTO users (username, email, password)
              VALUES('$username', '$email', '$password')";
           mysqli_query($db, $query);

        if($db->query($query) === true){
          $_SESSION['message']="Registration succesful! Added $username to the datebase!";
          header("location: welcome.php");
        }
        else {
          $_SESSION['message'] = "User could not be added to the database!";
        }
      }
      else {
        $_SESSION['message'] = "Password did not match!";
      }
    }
  ?>

2 个答案:

答案 0 :(得分:2)

尝试在您的else语句中放入$db->error并查看其内容。.如果有错误或异常

 if($db->query($query) === true){
          $_SESSION['message']="Registration succesful! Added $username to the datebase!";
          header("location: welcome.php");
        }
        else {
            echo $db->error; 
            die();

          $_SESSION['message'] = "User could not be added to the database!";
        }

答案 1 :(得分:0)

使您的ID AUTO_INCREMENT从每个表的1开始