下面的查询不是将变量插入MySQL。我知道函数valid_email2
有效,因为我将非电子邮件地址放入$inviteeemail
,并根据以下代码重定向。
我知道我有正确的MySQL连接字符串。
知道为什么没有任何东西被放入MySQL?
$invitorname = $_POST['invitorname'];
$inviteename = $_POST['inviteename'];
$inviteeemail = $_POST['inviteeemail'];
$uid = $_POST['uid'];
$subcheck = (isset($_POST['subcheckinvite'])) ? 1 : 0;
if ( ! valid_email2($inviteeemail))
{
session_write_close();
header("Location:http://www...com/.../file.php");
exit;
}
else
{
mysql_query("INSERT INTO invites VALUES (NULL, '$uid', '$inviteeemail', '$invitorname', '$inviteename', NULL, '$subcheckinvite', NULL)");
}
答案 0 :(得分:1)
在您的查询中,您有$subcheckinvite
但您在脚本开头将其设置为$subcheck
。也许就是这样。
答案 1 :(得分:0)
您为其插入NULL的字段是否为空?
答案 2 :(得分:-1)
检查mysql_query
的返回值。如果为false,则查询无效,您可以打印mysql_error()
以查看错误消息。
这不是因为您没有逃避任何用户输入这一事实。除了通过仔细制作表单输入允许某人完全更改您的查询之外,如果任何字段包含单引号,您的查询将会失败。
除了修复错误之外,您还应该考虑提高代码质量。
$checksubinvite
)...等