我目前有一个包含各种字段的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语句中的内容?
无论如何,帮助将不胜感激,谢谢。
答案 0 :(得分:0)
您的查询中有错误,“是”最后必须有引号。
首先直接针对MySQL运行查询以确定您的语法是否正确,然后只需替换所需的值。
你的例子应该是这样的:
$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', 'yes')");
一些建议,如果您从用户接收数据,请清理您的输入,否则您将容易受到SQL注入攻击。
并且使用mysqli_函数,因为mysql_函数现在已被正式弃用。您可以在几乎任何网站上阅读更多相关内容,例如w3schools.com
插入的完整示例 祝你好运答案 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])."')");