【问题标题】:php; mysql;How to insert user_id or date_created?php; mysql;如何插入 user_id 或 date_created?
【发布时间】:2017-08-11 10:53:28
【问题描述】:

我做了一个简单的注册表单。我应该如何编辑此表单以添加类似:user_id 或 date_created 的内容? 当我将 user_id 列添加到 PHPMyAdmin 时,用户无法注册,但是当我只有值时:'First Name'; '姓' ; '电子邮件' ;数据库中的“密码”,一切正常。

    <!DOCTYPE html>
<html>
<head>
    <title>Registration</title>
</head>
<body>
<?php
$lclhost = "localhost";
$pass = "";
$root = "root";
$database = "regis";
$con=mysqli_connect ("$lclhost", "$root", "$pass") or die("connection fail".mysql_error());
mysqli_select_db($con, $database) or die("database fail".mysql_error());
?>
<form method="get">
    First Name : <input type="text" name="fname"><br>
    Last Name : <input type="text" name="lname"><br>
    Email: <input type="text" name="email"><br>
    Password: <input type="Password" name="password">
    <input type="submit" name="btnsubmit">
</form>
<?php 
if (isset($_GET['btnsubmit']))
{
    $fname = $_GET['fname'];
    $lname = $_GET['lname'];
    $email = $_GET['email'];
    $password = $_GET['password'];
    $registration = "INSERT INTO tbl_info values ('".$fname."','".$lname."','".$email."','".$password."')";
    mysqli_query($con,$registration);
    echo "Succes!";
}
?>
</body>
</html>

【问题讨论】:

标签: php mysql registration


【解决方案1】:

由于您的查询没有指定列,只有当您提供的列值的数量与数据库中的列数完全相同时,mysql才会起作用。

向数据库添加额外的列将导致查询中断,因为列数不再相同。

你有两个选择:

选项 1: 在查询中添加列名:

 "INSERT INTO tbl_info(Firstname, Lastname, EmailAddress, Password)   
  values ('".$fname."','".$lname."','".$email."','".$password."')";  

选项 2:始终确保数据库中的列数与您在查询中提供的值数完全相同

注意:如果您有一个自动递增的 id 字段,则不必将其包含在第一个选项中,因为它会在您插入记录时自动添加值。但是您确实需要将它包含在第二个选项中,将空字符串或 null 作为值传递

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多