php - UPDATE 语句不起作用,但适用于 phpMyAdmin 和实时主机

标签 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

你能帮我看看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/

相关文章:

php - 我使用 phpmyadmin 更改了我的 WordPress 密码,现在我有一个数据库错误

php - 如何计算登录系统的总时间?

php - 将 "Sale"产品类别添加到 Woocommerce 中销售的产品

mysql - SQL查询提取前几个字符

mysql - 如何将表A中的某些行交叉连接到表B中的某些列

java - Mysql Server with Java Desktop Application 开源打包软件

mysql - phpMyAdmin 单引号不返回结果

javascript - php 检索多个 json 对象数组

php - 如何使用 PHP $_REQUEST 单个数组元素

php - Laravel 行为异常 - 显示错误图像