mysql数据库插入问题?

<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="UTF-8">
<title>工资管理系统页面</title>

</head>
<body>

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
    <input type="text" name="name">
    <input type="text" name="age">
    <input type="text" name="gender">
    <input type="text" name="address">
    <input type="text" name="phone">
    <input type="text" name="department">
    <input type="submit" name="submit" value="提交">
</form>

<?php
if(isset($_POST['submit'])){

include 'db_link.php';
@$name = $_POST['name'];
@$age = $_POST['age'];
@$gender = $_POST['gender'];
@$address = $_POST['address'];
@$phone = $_POST['phone'];
@$d_name = $_POST['department'];
$sql="insert into stuff(name,age,gender,address,phone,D_name) VALUES ('$name','$age','$gender','$address','$phone','$d_name')";
$query=$conn->query($sql);
if(!$query){
    echo "<script>alert('提交失败');</script>";
}

}
?>
</body>
</html>

全部代码如下,就是提交失败,怎么回事?

阅读 3.2k
6 个回答

首先,代码不全。第二,不知道mysql表结构和字段类型。
$link = mysqli_connect(...);
mysqli_error($link);
看一看错误提示。

大约看了下,第一个formaction,第二个isset判断。

1,首先确定表单提交的地址是否正确,看是否接收到了POST数据。2,如果接受到了POST数据,检查是否链接库有问题。3,如果连接库没有问题,就检查是否插入语句中的字段书写错误。

插入失败页面应该会提示php错误信息,根据那个错误信息来查找原因

新手上路,请多包涵

最简单的办法是,在sql语句那里做个断点,打印出来,然后到数据库命令行执行一下,成功的话就是其他地方的问题

新手上路,请多包涵

先检查一下你引入的数据库连接文件是否有效,数据库是否正常连接,如果数据库连接没有问题,dump一下$post,看一下传来的参数,再对比一下数据库数据表里的数据格式是否符合;若这里传入的是除了id的该数据表的全部数据,主键id自增值有没有设置检查一下;如果这里只是提交了部分数据,其他字段的数据格式看一下,是否设置默认值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题