Php 是否插入与自动增量相关的问题?

Php 是否插入与自动增量相关的问题?,php,insert,Php,Insert,新手到php只是寻求帮助解决我的问题。我正在尝试将表单数据发送到数据库。我很好地连接到数据库,但在提交并转到success.php页面时,我回显了“没有记录” 在某一点上,我确实在第1行的“mobile”列中得到了错误“不正确的整数值:“”,但似乎已通过清理我的代码修复了该错误 任何帮助都将不胜感激,因为我有点笨 //index.php code <?php //CONNECT DETAILS $user = 'root'; $password = 'root'; $db = 'db_

新手到php只是寻求帮助解决我的问题。我正在尝试将表单数据发送到数据库。我很好地连接到数据库,但在提交并转到success.php页面时,我回显了“没有记录”

在某一点上,我确实在第1行的“mobile”列中得到了错误“不正确的整数值:“”,但似乎已通过清理我的代码修复了该错误

任何帮助都将不胜感激,因为我有点笨

//index.php code

<?php

//CONNECT DETAILS
$user = 'root';
$password = 'root';
$db = 'db_dev';
$host = 'localhost';
$port = 8889;

//CREATE CONNECT
$link = mysqli_init();
$success = new mysqli($host, $user, $password, $db, $port);
$success->query("SET NAMES 'utf8'");
$success->query("SET CHARACTER SET utf8");

// Check CONNECTION
if ($success->connect_error) {
die("Connection failed: " . $success->connect_error);
}


//VARIABLES & INSERT QUERY
if (isset($_POST["submit"])) {

$sql = "INSERT INTO db_test (name, mobile, date, email )
VALUES ( '', '$_POST[name]', '$_POST[email]', '$_POST[mobile]', NOW())";

$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$userID = mysqli_insert_id($success);

}

mysqli_close($success);
?>

 //success.php code

<?php

//LOCAL CONNECT/MAMP
$user = 'root';
$password = 'root';
$db = 'db_dev';
$host = 'localhost';
$port = 8889;

//CREATE CONNECT
$link = mysqli_init();
$success = new mysqli($host, $user, $password, $db, $port);
$success->query("SET NAMES 'utf8'");
$success->query("SET CHARACTER SET utf8");
// Check CONNECTION
if ($success->connect_error) {
die("Connection failed: " . $success->connect_error);
}

//ECHO OUT SUCCESS
if ($success->query($sql) === TRUE) {
echo "New record created successfully";
 } else {
echo "Error: no record made" . $sql . "<br>" . $success->error;
}

mysqli_close($success);
?>
//index.php代码

SQL中存在错误

插入值时,顺序必须相同,否则会出错。另外,您要插入5个值,但要插入4(?)

因此,它将是:

$name = $_POST['name'];
$mobile = $_POST['mobile'];
$email = $_POST['email']};

$sql = "INSERT INTO db_test (id, name, mobile, date, email) VALUES ('', $name, $mobile, NOW(), $email)";

如果该键的“自动递增”处于启用状态,则不需要第一列-ID,如果需要,可以不使用它。

您在SQL中有错误

插入值时,顺序必须相同,否则会出错。另外,您要插入5个值,但要插入4(?)

因此,它将是:

$name = $_POST['name'];
$mobile = $_POST['mobile'];
$email = $_POST['email']};

$sql = "INSERT INTO db_test (id, name, mobile, date, email) VALUES ('', $name, $mobile, NOW(), $email)";

如果该键的“自动递增”处于启用状态,则第一列ID是不必要的,如果您愿意,可以不使用它。

了解该键的语句。检查错误日志。您从未执行过
INSERT
查询。您不需要插入“”,对于自动递增列..当您插入行时,会在数据库中自动设置..错误日志会告诉您尝试插入的列数不匹配。
insert
语句中的值顺序也不正确。您的
INSERT
查询应该是这样的,
$sql=“INSERT INTO db_test(name,mobile,date,email)值(“$_POST[name]”,“$_POST[mobile]”,NOW(),“$_POST[email]”)了解的语句。检查错误日志。您从未执行过
INSERT
查询。您不需要插入“”,对于自动递增列..当您插入行时,会在数据库中自动设置..错误日志会告诉您尝试插入的列数不匹配。
insert
语句中的值顺序也不正确。您的
INSERT
查询应该是这样的,
$sql=“INSERT INTO db_test(name,mobile,date,email)值(“$_POST[name]”,“$_POST[mobile]”,NOW(),“$_POST[email]”)感谢您对自动提醒的澄清。我现在删除了它们,并根据我的代码进行了调整。我还将研究上面提出的问题。干杯感谢您对自动提醒的澄清。我现在删除了它们,并根据我的代码进行了调整。我还将研究上面提出的问题。干杯