为什么我的数据没有插入数据库


why my data is not inserting on the database

我不明白为什么我的数据没有插入数据库。请帮助我。我使用一个页面,其中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>
<input type="submit" value="submit"/>

替换为:

<input type="submit" name="submit" value="submit"/>  // missing name attribute.

您正在检查if(isset($_POST['submit']))但没有任何带有名称提交的修饰符。

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>

使用

if ($_SERVER['REQUEST_METHOD'] == 'POST') { // fired after form post

而不是:

if(isset($_POST['submit'])) { // fired after submit hit

此外,您正在使用mysql_函数。这些被弃用(php 5.x)/删除(php 7)。请改用mysqli_或 PDO。