我只是不知道该怎么做,也不知道如何搜索这个奇怪的问题。这是:
页面上的所有连接都正常工作,以防万一:
我有此代码更新数据库上的电子邮件
$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,我得到这个: 更新usuario SET email='teste@gmail.com'WHERE username ='teste1'和senha ='e10adc3949ba59abbe56e057f20f883e'
如果我在mySQL上手动运行此查询,它会像我想要的那样更新字段。
如果我手动将值传递给$ fEmail var( $ fEmail =“teste@gmail.com” )。它运作得很好。
唯一不起作用的方法是从表单中获取值。
有没有人有这方面的解决方案? d:
答案 0 :(得分:3)
您使用$_GET
作为用户名和密码,使用$_POST
作为电子邮件。检查您的form
实际提交方法,并修复相关数据提取。
答案 1 :(得分:1)
如果通过GET发送表单数据,则应使用$_GET['fEmail']
。在这种情况下,$_POST['fEmail']
没有定义,这可以解释你所看到的行为。