初学者php / mysql =>从HTML表单向数据库添加数据

时间:2017-03-28 16:34:39

标签: php mysql database phpmyadmin

我尝试使用用户输入到html表单的数据将数据添加到我的数据库中。这是我的代码:

<?php

error_reporting(E_ALL);

$conn = new mysqli(/* private infos hidden on stackoverflow */);

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

if(isset($_POST['submitButton'])) {

    $getName = $_POST['name'];

    $query = "INSERT INTO data ('name') VALUES ('$getName')";

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

    $conn->close();
}
?>

<html>

<form method="post">
    Name: <input type="text" name="name"><br>
    <input type="submit" name="submitButton">
</form>

</html>

我收到此错误:

  

错误:INSERT INTO数据('name')VALUES('','','','','')

     

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在“名称”附近使用正确的语法。)第1行的VALU'

**我已经做过什么:**

  • “INSERT INTO data('name')VALUES('$ getName')”;

  • “INSERT INTO data('name')VALUES($ getName)”;

  • “INSERT INTO data(name)VALUES('$ getName')”;

  • “INSERT INTO'data'('name')VALUES('$ getName')”;

  • “INSERT INTO data(name)VALUES($ getName)”;

  • “INSERT INTO data(name)VALUES'$ getName'”;

感谢任何帮助人员

3 个答案:

答案 0 :(得分:0)

应该可以正常工作:

$query = "INSERT INTO `data` (`name`) VALUES ('$getName')";

编辑:忘记反复数据关键字。

答案 1 :(得分:-1)

或者

INSERT INTO data (name)

或者

INSERT INTO data (`name`)

upd。:单词&#34; name&#34;和&#34;数据&#34;在SQL中保留并使用它们作为表和字段名称是一个坏主意。

答案 2 :(得分:-2)

插入数据(&#39;名称&#39;)价值观(&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;& #39;,&#39;&#39;) - &gt;你在那个特定的表中有多少列? 5?如果是这样,你需要查看doc - &gt; INSERT INTO table_name(column1,column2,column3,...) VALUES(value1,value2,value3,...)