UPDATE语句不起作用,但适用于phpMyAdmin&现场主持人

时间:2015-05-02 06:00:51

标签: php mysql phpmyadmin

我在下面有这个更新声明:

string_from_base64_encode_ends_with = base64_encode(serialize($_POST));

UPDATE members SET settings = 'string_from_base64_encode_ends_with=='
WHERE email = "right@emailhere.com" AND active=1
  1. (localhost)当我使用mysql_query()处理时,真实记录不会更新,但 mysql_affected_rows() 返回1

  2. (localhost)但是当我复制这个 UPDATE语句然后通过phpMyAdmin处理;它有效,mysql_affected_rows()返回1& 真实记录真的更新了

  3. (现场主持人)使用这些代码,当我在现场主机上运行时,没有变化;一切都很好:记录更新,mysql_affected_rows()返回1

  4. 你可以帮我发现MySQL服务器有什么问题吗?还是别的什么?

    非常感谢

    PS:所有其他UPDATE语句在localhost和amp;现场主持人,更新;这个陈述只是问题

1 个答案:

答案 0 :(得分:0)

您需要使用mysql_real_escape_string()

来转义字符串
$string = mysql_real_escape_string("string_from_base64_encode_ends_with==");
 mysql_query("UPDATE members SET settings = '".string ."' WHERE email = \"right@emailhere.com\" AND active=1");