Php MySQL插入查询失败,没有错误
我对数据库的SQL insert查询有问题。我已经检查了与数据库的连接,它似乎工作正常。当我提交表单时,我没有收到任何错误消息,它似乎将行插入到我的表中,但什么也没有发生 这是表格结构的代码:Php MySQL插入查询失败,没有错误,php,jquery,mysql,ajax,insert,Php,Jquery,Mysql,Ajax,Insert,我对数据库的SQL insert查询有问题。我已经检查了与数据库的连接,它似乎工作正常。当我提交表单时,我没有收到任何错误消息,它似乎将行插入到我的表中,但什么也没有发生 这是表格结构的代码: CREATE TABLE IF NOT EXISTS `***`.`employee` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NULL, `email` VARCHAR(45) NULL, PRIMARY KEY (`
CREATE TABLE IF NOT EXISTS `***`.`employee` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`email` VARCHAR(45) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
控制面板调用的employee.php文件的更新代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
if(isset($_POST['register'])){
$dbhost = '****';
$dbuser = '****';
$dbpass = '****';
$dbname = '****';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(!$conn){
die(mysqli_error());
}
mysqli_select_db($conn, $dbname);
$email = $_POST['email'];
$name = $_POST['fullname'];
$sql = "INSERT INTO `employee` (`email`,`name`) VALUES ('$email','$name')";
mysqli_query($conn, $sql) or die(mysqli_error());
mysqli_close($conn);
else{
?>
<form id="regForm" method="post" action="<?php $_PHP_SELF ?>">
<input type="text" id="fullname" name="fullname" placeholder="Full Name" />
<input type="text" id="email" name="email" placeholder="E-mail" />
<input name="register" type="submit" id="register" value="Register" ></button>
</form>
<?php } ?>
这是控制面板的html,employee是控制面板中链接到注册表的按钮:
<ul id="cpnav">
<li><a href="employee">Add Employee</a></li>
</ul>
我的猜测是表单的action属性有各种各样的错误,并且考虑到将表单注入页面的方式,您将无法从employee.php
脚本中正确控制值
这是我要做的
操作
属性(即,将其留空)
INSERT
语句将(可能)执行。但是,您将只看到一个空白页。您可能希望在成功更新数据库后重定向到成功页面或其他内容
现在让我告诉你关于
我也尝试过mysqli,但仍然有同样的问题。等等,表单提交到哪里?如果
$\u PHP\u SELF
未设置为employee.PHP
,则不会发生任何事情。$\u PHP\u SELF
是否设置为偶数?你甚至都没有回显它
<ul id="cpnav">
<li><a href="employee">Add Employee</a></li>
</ul>
<form id="regForm" method="post" action="">
var page = $(this).attr('href'),
path = '../cp/' + page + '.php';
$('#cpcon').load(path, function() {
$('#regForm').attr('action', path);
});
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if ($conn->errno) {
throw new Exception($conn->error, $conn->errno);
}
$stmt = $conn->prepare('INSERT INTO `employee` (`email`, `name`) VALUES (?, ?)');
if (!$stmt) {
throw new Exception($conn->error, $conn->errno);
}
$stmt->bind_param('ss', $_POST['email'], $_POST['name']);
if (!$stmt->execute()) {
throw new Exception($stmt->error, $stmt->errno);
}
// here's where you would do some sort of redirect
header('Location: success.php?employee_id=' . $conn->insert_id);
exit;