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

时间:2016-01-14 13:36:10

标签: php mysql

我不明白为什么我的数据没有插入数据库。请帮我。 我使用单页,其中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>

3 个答案:

答案 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。