我在下面有这个更新声明:
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
(localhost)当我使用mysql_query()
处理时,真实记录不会更新,但 mysql_affected_rows()
返回1
(localhost)但是当我复制这个 UPDATE语句然后通过phpMyAdmin处理;它有效,mysql_affected_rows()返回1& 真实记录真的更新了
(现场主持人)使用这些代码,当我在现场主机上运行时,没有变化;一切都很好:记录更新,mysql_affected_rows()返回1
你可以帮我发现MySQL服务器有什么问题吗?还是别的什么?
非常感谢
PS:所有其他UPDATE语句在localhost和amp;现场主持人,更新;这个陈述只是问题
答案 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");