为什么php中的以下sql查询不起作用?

时间:2013-09-26 07:42:49

标签: php mysql wamp

我是php和Sql的新手。我正在尝试从HTML表单中获取数据并将其插入数据库。

我的HTML代码如下:

<!DOCTYPE HTML>
<html> 
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

我的php代码如下:

<?php
//Connecting to sql db.
$connect = mysqli_connect("localhost","root","password","my_db");
//Sending form data to sql db.
$query = "INSERT INTO  person ('name' 'email') VALUES ('"
.$_POST['name']
."','"
.$_POST['email']
."');";

mysqli_query($connect, $query);
?>

我在phpMyAdmin中创建了一个数据库,但我的查询不起作用,表格没有更新。我做错了什么?如何纠正它!

7 个答案:

答案 0 :(得分:3)

忘记了姓名和电子邮件之间的逗号

另外,将单引号更改为反引号..

所以这个..

 "INSERT INTO  `person` ('name' 'email') 

变成这个

 "INSERT INTO  `person` (`name`, `email`) 

答案 1 :(得分:1)

您不应使用'来区分列名称。相反,您可以在列名中使用`或不使用任何内容。

您可以使用以下语法;

$query = "INSERT INTO person (name, email) VALUES ('$_POST[name]', '$_POST[email]');";

答案 2 :(得分:0)

删除单个引号并添加返回标记:

$query = "INSERT INTO person ( {名称{1}}电子邮件,

答案 3 :(得分:0)

尝试mysqli_connect(“localhost”,“root”,“password”,“my_db”)或死(“错误”.mysqli_error($ link));

确保正确的连接

答案 4 :(得分:0)

在您的代码中使用此查询 希望它能帮到你

$query = "INSERT INTO person VALUES('$_POST[name]','$_POST[email]')";

答案 5 :(得分:0)

我建议你使用像PDO这样的东西进行数据库操作。它在易读性和安全性方面更好。

这是一个快速教程

http://www.phpeveryday.com/articles/PDO-Insert-and-Update-Statement-Use-Prepared-Statement-P552.html

答案 6 :(得分:0)

这就够了 $ query =“INSERT INTO person(姓名,电子邮件) VALUES ( '$ _POST [名称]', '$ _ POST [电子邮件]')“;