我正在尝试在数据库中插入简单的两个值,但它们既没有插入也没有给出错误。 我不知道发生了什么。我还尝试在 if 语句之外进行 sql 查询,但它不起作用。
请帮忙
编码文件
<?php
include 'includes/db_connection.php';
if (isset($_POST['submit']))
{
$name = test_input($_POST["name"]);
$fathername = test_input($_POST["fathername"]);
$sql = "INSERT INTO student (name,fathername)
VALUES ('$name','$fathername')";
mysqli_query($conn, $sql);
if(mysqli_query($conn, $sql))
{
$last_id = mysqli_insert_id($conn);
echo "New record created successfully. Last inserted ID is: " . $last_id;
}
else
{
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
}
?>
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.2.43/jquery.form-validator.min.js"></script>
</head>
<body>
<form action="valid_test.php" method="post" id="registration-form">
<div>
Name
<input name="name" data-validation="length alphanumeric"
data-validation-length="6-15"
data-validation-error-msg="User name has to be an alphanumeric value (6-15 chars)">
</div>
<div>
Father Name
<input name="fathername" data-validation="length alphanumeric"
data-validation-length="6-20"
data-validation-error-msg="User name has to be an alphanumeric value (6-20 chars)">
</div>
<div>
<input type="submit" value="Validate">
<input type="reset" value="Reset form">
</div>
</form>
当我们发布HTML表单时,元素会发布name
属性。
您缺少提交按钮name
属性。
改变:
<input type="submit" value="Validate">
自:
<input type="submit" value="Validate" name="submit">
由于提交按钮没有name
属性,因此条件
if (isset($_POST['submit']))
没有得到满足,因此代码不起作用。
另外,您正在重复mysqli_query($conn, $sql);
.删除它的第一个实例。
首先,在你的PHP中,$conn在哪里:你试图插入一些不存在的东西。其次,你的SQL不太正确,而不是这样,你应该有这样的东西:
$sql = "INSERT INTO student (name, fathername) VALUES (" . $name . ", " . $fathername . ");";
你在问题中所做的是,你把"$name"和"$fathername"作为单独的字符,你想要的是变量的值,这就是你这样做的方式。
问候