MySQL查询未处理,而PHP电子邮件代码正在处理?
我有一个html、php和javascript的表单设置。我将表单设置为在单击submit按钮时运行process()函数。在这个过程函数中,我向自己发送一封电子邮件,将表单中的数据插入mysql查询并发送该查询 但是,电子邮件代码可以工作,我收到一封电子邮件,但查询代码不能工作,因此我在数据库中没有收到新行。我也没有收到mysql_error()输出 你能告诉我哪里出了问题吗MySQL查询未处理,而PHP电子邮件代码正在处理?,php,javascript,mysql,email,Php,Javascript,Mysql,Email,我有一个html、php和javascript的表单设置。我将表单设置为在单击submit按钮时运行process()函数。在这个过程函数中,我向自己发送一封电子邮件,将表单中的数据插入mysql查询并发送该查询 但是,电子邮件代码可以工作,我收到一封电子邮件,但查询代码不能工作,因此我在数据库中没有收到新行。我也没有收到mysql_error()输出 你能告诉我哪里出了问题吗 function process() { mysql_connect("localhost",
function process()
{
mysql_connect("localhost", "username", "password");
mysql_select_db("db");
$device = mysql_real_escape_string($_POST['Device_Type']);
$name = mysql_real_escape_string($_POST['Name']);
$job = mysql_real_escape_string($_POST['DD']);
$username = mysql_real_escape_string($_POST['Username']);
$email = mysql_real_escape_string($_POST['Email']);
$website = mysql_real_escape_string($_POST['Website']);
$UDID = mysql_real_escape_string($_POST['UDID']);
mysql_query("INSERT INTO Beta_Testers (`Name`, `Username`, `Email Address`, `Website`, `Job`, `Device_Type`, `UDID`) VALUES ('$name','$username','$email','$website','$job','$device','$UDID'))") or die(mysql_error());
$msg = "Form Contents: \n\n";
foreach($this->fields as $key => $field)
$msg .= "$key : $field \n";
$to = 'beta@socialpic.org';
$subject = 'Beta Form Submission';
$from = 'Beta Sign up';
mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
}
由于mysql_query()在您使用它的上下文中是一个布尔函数,因此可以执行以下操作:
function process()
{
mysql_connect("localhost", "username", "password");
mysql_select_db("db");
$device = mysql_real_escape_string($_POST['Device_Type']);
$name = mysql_real_escape_string($_POST['Name']);
$job = mysql_real_escape_string($_POST['DD']);
$username = mysql_real_escape_string($_POST['Username']);
$email = mysql_real_escape_string($_POST['Email']);
$website = mysql_real_escape_string($_POST['Website']);
$UDID = mysql_real_escape_string($_POST['UDID']);
$query = "INSERT INTO Beta_Testers (`Name`, `Username`, `Email Address`, `Website`, `Job`, `Device_Type`, `UDID`) VALUES ('$name','$username','$email','$website','$job','$device','$UDID'))";
if (mysql_query($query)) {
$msg = "Form Contents: \n\n";
foreach($this->fields as $key => $field)
$msg .= "$key : $field \n";
$to = 'beta@socialpic.org';
$subject = 'Beta Form Submission';
$from = 'Beta Sign up';
mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
} else {
echo $query;
}
}
但是查看您的代码,您的电子邮件地址列是称为“电子邮件地址”还是“电子邮件地址”?表中的主键是什么?可能您正试图使用相同的密钥重新写入记录。mysql已被弃用,请改用mysqli(或PDO)!它被称为电子邮件地址(没有u)。我现在没有收到电子邮件,但查询没有回音。修复了它。查询中有一个额外的“)”。