尝试将表单数据添加到MYSQL数据库中

时间:2013-03-26 05:17:37

标签: php mysql sql database

我目前有一个包含各种字段的HTML表单,例如:

Please Enter First Name: <input type ="text" name="First_Name" /> <br />

我正在尝试从此表单中获取信息到我的数据库中。但它似乎没有输入数据库中的任何内容。代码如下。

<?php

$dbname='ecig';
$dbhost='localhost';
$dbpass='password';
$dbuser='eciguser';


$dbhandle = mysql_connect($dbhost, $dbuser, $dbpass)
  or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";


//select a database to work with
$selected = mysql_select_db("ecig",$dbhandle)
  or die("Could not select examples");



$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES('$_POST[First_Name]', yes)");
mysql_close();

if (array_key_exists ('check_submit', $_POST )) 

echo "Your Name is : {$_POST['First_Name']}<br />";
echo "Your Second Name is : {$_POST['Second_Name']}<br />";
echo "Your Email Address is : {$_POST['Email_Address']}<br />";
echo "Your Password Is : {$_POST['Password']}<br />";

?>

问题是因为这对我的数据库没有影响,有什么我缺少的东西,需要添加到我的SQL代码,以便php和SQL相互交互并输入数据?

或者我错过了INSERT INTO语句中的内容?

无论如何,帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

您的查询中有错误,“是”最后必须有引号。

首先直接针对MySQL运行查询以确定您的语法是否正确,然后只需替换所需的值。

你的例子应该是这样的:

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', 'yes')");

一些建议,如果您从用户接收数据,请清理您的输入,否则您将容易受到SQL注入攻击。

并且使用mysqli_函数,因为mysql_函数现在已被正式弃用。您可以在几乎任何网站上阅读更多相关内容,例如w3schools.com

使用mysqli_:http://www.w3schools.com/php/php_mysql_insert.asp

插入的完整示例 祝你好运

答案 1 :(得分:0)

使用mysql_real_escape_string()

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('".mysql_real_escape_string($_POST['First_Name'])."', '".mysql_real_escape_string($_POST[Second_Name])."')");