2

我是 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 中创建了一个数据库,但是我的查询不起作用并且表格没有得到更新。我做错了什么?..如何纠正它!

4

7 回答 7

3

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

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

所以这..

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

变成这个

 "INSERT INTO  `person` (`name`, `email`) 
于 2013-09-26T07:44:50.673 回答
1

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

您可以使用以下语法;

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

于 2013-09-26T07:49:21.477 回答
0

删除单引号并添加反引号:

$query = "INSERT INTO person (姓名,电子邮件) VALUES ('

于 2013-09-26T07:46:43.670 回答
0

尝试 mysqli_connect("localhost","root","password","my_db") 或 die("Error " .mysqli_error($link));

确保正确的连接

于 2013-09-26T07:48:21.443 回答
0

在您的代码中使用此查询希望它会对您有所帮助

$query = "INSERT INTO person VALUES('$_POST[name]','$_POST[email]')";
于 2013-09-26T07:50:10.593 回答
0

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

这是一个快速教程

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

于 2013-09-26T07:50:33.050 回答
0

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

于 2013-09-26T09:05:53.130 回答