我不明白为什么我的数据没有插入数据库。请帮我。 我使用单页,其中html和php在同一页面上。我尝试了很多次,但数据没有插入。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Quickstart pack</title>
</head>
<body>
<form action="index.php" method="post">
Name: <input type="text" name="name"/></br>
Email: <input type="text" name="email"/></br>
Phone: <input type="text" name="phone"/></br>
<input type="submit" value="submit"/>
</form>
<?php
if(isset($_POST['submit'])) {
$conn = mysql_connect("localhost", "root", "");
if (!$conn) {
die("mysql is not connected" . mysql_error());
}
$data = mysql_select_db("customerInfo", $conn);
$sql = "INSERT INTO customer (Name, Email_id, Phone) VALUES ('$_POST[name]','$_POST[email]','$_POST[phone]')";
mysql_query($sql, $conn);
mysql_close($conn);
}
?>
</body>
</html>
答案 0 :(得分:2)
<input type="submit" value="submit"/>
替换为:
<input type="submit" name="submit" value="submit"/> // missing name attribute.
您正在检查if(isset($_POST['submit']))
,但没有提交名称的任何元素。
答案 1 :(得分:2)
1)在提交按钮中缺少Name
属性。
2)将$_POST[textfieldName]
更改为$_POST['textfieldName']
<!DOCTYPE html>
<html lang="en">
<head>
<title>Quickstart pack</title>
</head>
<body>
<form action="index.php" method="post">
Name: <input type="text" name="name"/></br>
Email: <input type="text" name="email"/></br>
Phone: <input type="text" name="phone"/></br>
<input type="submit" value="submit" name='submit'/>
</form>
<?php
if(isset($_POST['submit'])) {
$conn = mysql_connect("localhost", "root", "");
if (!$conn) {
die("mysql is not connected" . mysql_error());
}
$data = mysql_select_db("customerInfo", $conn);
$sql = "INSERT INTO customer (Name, Email_id, Phone) VALUES ('".$_POST['name']."','".$_POST['email']."','".$_POST['phone']."')";
mysql_query($sql, $conn);
mysql_close($conn);
}
?>
</body>
</html>
答案 2 :(得分:1)
使用
if ($_SERVER['REQUEST_METHOD'] == 'POST') { // fired after form post
而不是:
if(isset($_POST['submit'])) { // fired after submit hit
此外,您正在使用mysql_函数。这些已被弃用(php 5.x)/ removed(php 7)。请改用mysqli_或PDO。