1

我只是不知道该怎么办,也不知道如何搜索这个奇怪的问题。这是:

页面上的所有连接都正常工作,以防万一:

我有这个代码来更新数据库上的电子邮件

$fUsername = mysql_real_escape_string($_GET['user']);
$fPassword = mysql_real_escape_string($_GET['senha']);
$fEmail = mysql_real_escape_string($_POST['fEmail']);

$sql = "UPDATE usuario SET email='$fEmail ' WHERE username = '$fUsername' and senha = '$fPassword'";
$result=mysql_query($sql);

现在,问题:

此查询不更新 BD 上的“电子邮件”字段。它只是使该字段为空。

如果我回显 $sql var,我会得到: UPDATE usuario SET email='teste@gmail.com ' WHERE username = 'teste1' and senha = 'e10adc3949ba59abbe56e057f20f883e'

如果我在 mySQL 上手动运行此查询,它会像我想要的那样更新该字段。

如果我手动将值传递给 $fEmail var ( $fEmail = "teste@gmail.com" )。它工作得很好。

唯一不起作用的方法是当我从Form中获取值时。

有没有人有这个解决方案?丁:

4

2 回答 2

3

您正在使用$_GET用户名和密码以及$_POST电子邮件。检查您的form实际提交方法,并修复相关数据获取。

于 2012-06-21T23:50:39.323 回答
1

$_GET['fEmail']如果表单数据是通过 GET 发送的,则 应该使用。$_POST['fEmail']在这种情况下未定义,这将解释您所看到的行为。

于 2012-06-21T23:51:48.520 回答