php往mysql中儲存時「 」的問題

2021-07-03 17:44:19 字數 720 閱讀 4446

用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();
成功了。

非常汗的乙個問題。。

mysql中儲存字段型別的查詢效率

檢索效能從快到慢的是 此處是聽人說的 第一 tinyint,smallint,mediumint,int,bigint 第二 char,varchar 第三 null 整數型別 1 tinyint,smallint,mediumint,int,bigint,分別用8,16,24,32,64存 2 整...

MySQL中儲存時間的最佳實踐指南

目錄 平時開發中經常需要記錄時間,比如用於記錄某條記錄的建立時間以及修改時間。在資料庫中儲存時間的方式有很多種,比如 mysql 本身就提供了日期型別,比如 datetime,timestamep 等,我們也可以直接儲存時間戳為 int 型別,也有人直接將時間儲存為字串型別。那麼到底哪種儲存時間的方...

Mysql中儲存UUID去除橫線的方法

參考 通常用uuid做唯一標識,需要在資料庫中進行儲存。uuid的格式 複製 如下 string string uuid.randomuuid tostring system.out.println uuid string uuid 05ba463f 1dab 471f 81c7 58e0b06f3...