无法通过PHP将数据添加到我的MySQL数据库

时间:2017-07-19 09:58:02

标签: php mysql database insert

我有这个PHP脚本在我的MySQL数据库中插入数据:

<?php


$servername = "..."; // Host name
$username   = "..."; // Mysql username
$password   = "..."; // Mysql password
$dbname     = "..."; // Database name


$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$barcode   = $_POST['barcode'];
$name      = $_POST['name'];
$kategorie = $_POST['kategorie'];
$preis     = $_POST['preis'];
$b1        = addslashes($_POST['b1']);
$b1_1      = addslashes($_POST['b1_1']);



$sql = "INSERT INTO produkte (barcode,name,kategorie,preis,b1,b1_1) VALUES ('$barcode', '$name', '$kategorie', '$preis', '$b1', '$b1_1')";

if ($conn->multi_query($sql) === TRUE) {
    echo "New records created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}




$conn->close();

?>

表格:

<html>
    <head>
        <meta charset="utf-8">
        <title>Produkt hinzuf&uuml;gen</title>
    </head>
    <body>
        <form action="eintragen.php" action="POST"/> 
            Barcode: <input type="text" name="barcode"/><br/> 
            Name: <input type="text" name="name"/><br/> 
            Kategorie: <input type="text" name="kategorie"/><br/> 
            Preis:<input type="text" name="preis"/><br/> 
            Beschreibungstext 1: <input type="text" name="b1" /><br/>
            Beschreibungstext 1.1: <input type="text" name="b1_1"/><br/> 
            <input type="submit" value="Absenden"/>
        </form>
    </body>
</html>

当我在html文件中插入所有数据并提交它时,PHP脚本告诉我新记录已成功创建。

但它只会创建一个内部没有数据的新行...

如果你可以帮助我会很好......

干杯, 直到

4 个答案:

答案 0 :(得分:4)

在行动地点添加方法

<form action="eintragen.php" method="POST"/> 

试试这会有帮助

答案 1 :(得分:3)

像这样设置表单,

<form action="eintragen.php" method="POST"/> 

如果您使用的是一个查询,那么您可以像使用

一样使用它
mysqli_query($conn,$sql);

答案 2 :(得分:0)

在将$_POST分配给变量之前,您不会检查$_POST是否包含所需的数据。

如果你这样做了,你会注意到你的action="POST"是空的,因为你写了method="POST"而不是DLL_PROCESS_DETACH。纠正这一点,它应该没问题。

答案 3 :(得分:-1)

Hello to 36,

POST / GET的定义和用法

method属性指定如何发送表单数据(表单数据发送到action属性中指定的页面)。

表单数据可以作为URL变量发送(使用method =“get”),也可以作为HTTP post transaction发送(使用method =“post”)。

关于GET的说明:

将表单数据以名称/值对的形式附加到URL中 URL的长度是有限的(约3000个字符) 切勿使用GET发送敏感数据! (将在URL中显示) 对于用户想要为结果添加书签的表单提交很有用 GET更适合非安全数据,例如Google中的查询字符串

关于POST的说明:

在HTTP请求的正文中添加表单数据(数据未显示在URL中) 没有尺寸限制 使用POST的表单提交无法加入书签

建议

当你一次执行一个查询时,不需要写“mysqli_multi_query()”但是使用“mysqli_query()”。

  1. mysqli_multi_query()
    mysqli_multi_query()函数对数据库执行一个或多个查询。查询以分号分隔。
  2. 试试这段代码,

    <强> 1。 File_Name.php

    <?php
    
        $servername = "..."; // Host name
        $username   = "..."; // Mysql username
        $password   = "..."; // Mysql password
        $dbname     = "..."; // Database name
    
    
        $conn = new mysqli($servername, $username, $password, $dbname);
    
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
    
        if(isset($_POST['barcode']) && isset($_POST['name']) && isset($_POST['kategorie']) && isset($_POST['preis']) && isset($_POST['b1']) && isset($_POST['b1_1'])
        {
    
            $barcode   = $_POST['barcode'];
            $name      = $_POST['name'];
            $kategorie = $_POST['kategorie'];
            $preis     = $_POST['preis'];
            $b1        = addslashes($_POST['b1']);
            $b1_1      = addslashes($_POST['b1_1']);
    
    
    
            $sql = "INSERT INTO produkte (barcode,name,kategorie,preis,b1,b1_1) VALUES ('$barcode', '$name', '$kategorie', '$preis', '$b1', '$b1_1')";
    
            if ($conn->mysqli_query($sql) === TRUE) {
                echo "New records created successfully";
            } else {
                echo "Error: " . $sql . "<br>" . $conn->error;
            }
        }
    
        $conn->close();
    ?>
    

    2.File_Name.html

    <html>
        <head>
            <meta charset="utf-8">
            <title>Produkt hinzuf&uuml;gen</title>
        </head>
        <body>
            <form action="eintragen.php" method="POST"/> 
                Barcode: <input type="text" name="barcode"/><br/> 
                Name: <input type="text" name="name"/><br/> 
                Kategorie: <input type="text" name="kategorie"/><br/> 
                Preis:<input type="text" name="preis"/><br/> 
                Beschreibungstext 1: <input type="text" name="b1" /><br/>
                Beschreibungstext 1.1: <input type="text" name="b1_1"/><br/> 
                <input type="submit" value="Absenden"/>
            </form>
        </body>
    </html>
    

    我希望我的回答很有帮助。 如果有任何疑问请评论。