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