1

我目前有一个包含各种字段的 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 语句中遗漏了什么?

无论如何,我们将不胜感激,谢谢。

4

2 回答 2

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

祝你好运

于 2013-03-26T05:23:06.027 回答
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])."')");
于 2013-03-26T05:24:29.023 回答