【问题标题】:Can't insert data with php into mysql无法用php将数据插入mysql
【发布时间】:2018-05-18 14:37:42
【问题描述】:

所以我正在做一个简单的项目,但我不知道为什么,但我无法将数据插入数据库

这是我与数据库的连接

 <?php
$servername = "localhost";
$username = "root";
$password = "root";
$database = "register";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $register);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

在这部分代码中我试图插入数据:

<?php
  if (isset($_POST['submitreg'])){
    $username = mysqli_real_escape_string($conn, $_POST['username']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $password = mysqli_real_escape_string($conn, $_POST['password']);
    $sql = "INSERT INTO users (email, username, password) VALUES ('$email', '$username', '$password')";
    if (mysqli_query($conn, $sql)) {
        echo "New record created successfully";
        header("Location: signin.php");
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
}
mysqli_close($conn);
 ?>

然后我插入代码,我得到这个错误:

错误:插入用户(电子邮件、用户名、密码)值('gerulisjonas@gmail.com'、'jonas2422'、'密码')

提前谢谢你:)

额外: 表格

<form id="register" class="signinform" action="includes/registerinc.php" method="post">
            <div class="formcenter">
            <input type="text" name="username" value="" placeholder="user name"><br>
            <input type="email" name="email" value="" placeholder="email"><br>
            <input type="password" id="passwordid" name="password" value="" placeholder="password"><br>
            <input type="password" name="passwordtwo" value="" placeholder="repeat password"><br>
            <input type="submit" name="submitreg" class="btn btn-success" value="Register"></input>
            </div>
          </form>

【问题讨论】:

  • 听起来你的帖子值是空的。试试var_dump($_POST); 看看它包含什么。您也可以在此处发布您的表单代码,以便我们查看。
  • $database = "register"; != $register 同时对您的用户密码进行哈希处理。
  • 在处理页面输出$_POST
  • 嘿,我纠正了它并没有解决主要问题,我还添加了 html 表单,您也可以查看它

标签: php mysqli


【解决方案1】:

在创建连接时,您将保存数据库名称的变量命名为 $database,但当您将其传递给 mysqli_connect 时,您使用的是 $register

试试这个:

$database = "register";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);

【讨论】:

  • 我的错误,但它仍然没有修复它:(
  • 不会解释VALUES ('','','')
【解决方案2】:

大家好,对不起,我确实打扰了你,我只是通过我的代码运行,我发现我的 register.php 文件中没有包含 connection.php 文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2011-05-30
    • 1970-01-01
    相关资源
    最近更新 更多