我的更新声明如下:
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 语句在本地主机和实时主机上仍然正常,已更新;这个说法只是问题
最佳答案
您需要使用 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");
关于php - UPDATE 语句不起作用,但适用于 phpMyAdmin 和实时主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29999031/