php往mysql中存储时“=”的问题

2 篇文章 0 订阅

用CI做个项目时,遇到一个问题,其中一个字段是base64转码后的,类似“MnlhMGpZTTNVMTQzNjUwNjQ3Ng==”。 作为查询条件时,始终查不出结果。


sql是这样写的:

$where = "user_id=" . $this->data['user_id']. " AND data='" .$this->data['token']. "' AND expire>". time();

把sql打印出来,就成了:

`user_id` = 2 AND data='MmJOaTBXMXZwMTQzNjUwMzY0NA= = ' AND `expire` > 1436503724

发现,“=”被处理了。跟踪后,发现是在CI的   DB_query_builder.php的_compile_wh函数中,将sql的key和value 分别解析为:

key:data='MmJOaTBXMXZwMTQzNjUwMzY0NA=

value: '


终于发现问题所在了。修改sql为:

$where = "user_id=" . $this->data['user_id']. " AND data = '" .$this->data['token']. "' AND expire>". time();
成功了。


非常汗的一个问题。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值