PHP 不发送表单到 MySQL 数据库

标签 php mysql

我已经能够连接到我的数据库。使用我自己的输入和 VALUES ('$name', '$email', '$userPassword')"; 代码手动将数据插入到表中,但由于某种原因,当我尝试传递将以上变量添加到我的数据库中,它将向我的表中输入空白数据。这是我的 welcome.php 页面的 PHP:

<?php
  $servername = "localhost";
  $username = "root";
  $password = "@Password";
  $dbname = "accounts";

  // Create connection
  $conn = mysqli_connect($servername, $username, $password, $dbname);
  // Check connection
  if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
  }



  $name = mysqli_real_escape_string($link, $_POST['Ausername']);
  $email = mysqli_real_escape_string($link, $_POST['email']);
  $userPassword = mysqli_real_escape_string($link, $_POST['Apassword']);

  $sql = "INSERT INTO users (username, email, password)
  VALUES ('$name', '$email', '$userPassword')";

  if (mysqli_query($conn, $sql)) {
      echo "New record created successfully";
  } else {
     echo "Error: " . $sql . mysqli_error($conn);
  }

  mysqli_close($conn);
?>

请注意,在欢迎页面上,以下代码将从我的表单传递信息并正确显示它,但不会将其添加到我的数据库中:

<html>
<body>
    Welcome <?php echo $_POST["Ausername"]; ?><br>
    Your email address is: <?php echo $_POST["email"]; ?><br>
    password is <?php echo $_POST["Apassword"]; ?>
</body>
</html> 

我的表单代码:

<form class="form-inline" action="welcome.php" method="post">

                        <div class="input-group">
                            <span class="input-group-addon"><i class="fa fa-user"></i></span>
                            <input type="text" class="form-control" id="Ausername" placeholder="Username" name="Ausername" required>
                        </div>
                        <br>
                        <br>
                        <div class="input-group">
                            <span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span>
                            <input type="text" class="form-control" id="email" placeholder="Email" name="email" required>
                        </div>
                        <br>
                        <br>
                        <div class="input-group">
                            <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
                            <input type="text" class="form-control" id="Apassword" placeholder="Password" name="Apassword" required>
                        </div>
                        <br>
                        <br>                
                        <br>
                        <button type="submit" class="btn btn-primary" id="button" name="submit" value="submit">
                            <i class="fa fa-user-plus"></i>
                            Sign Up
                        </button>
                        <br>
                        <br>
                    </form>

最佳答案

$link 尚未在您的代码中定义,您正在使用 $conn 创建与数据库的连接,因此您需要更改

$name = mysqli_real_escape_string($link, $_POST['Ausername']);
$email = mysqli_real_escape_string($link, $_POST['email']);
$userPassword = mysqli_real_escape_string($link, $_POST['Apassword']);

$name = mysqli_real_escape_string($conn, $_POST['Ausername']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$userPassword = mysqli_real_escape_string($conn, $_POST['Apassword']);

关于PHP 不发送表单到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46249293/

相关文章:

php - 为什么我的代码容易受到 xss 攻击?

php - 带有子表单的 Symfony 表单

php - preg_replace 度数和 phi 符号

mysql workbench 如何更改下划线的列空格

JavaScript (Node.js)——从 MySQL 列中检索落后一天的日期

php - 在 MySQL 数据库中存储复选框值的最佳方式是什么?

php - 处理大 curl 响应 - PHP

php - 使用 CI 更新两个表中的内容

java - MySQl 和 autoReconnect=true 仍然给我异常

php - 如果多个用户同时使用这个查询可以吗?