最近在設計資料庫時,欄位status設計為了enum型別。
當在php中查詢時,如下:
$list = db::name('repair_serve_type')
->alias('rs')
->join('fa_repair r','r.id=rs.rid')
->field('r.id,r.name,r.scoring,r.total_order,r.zone,r.address,r.serve_type,r.first_img,r.lng,r.lat')
->where('sid',$serve_type['id'])
->where('status',1) //已審核的 當為int時返回錯誤
->where('is_stop',0) //未停用的
->paginate($size,false,['page'=>$page]);
發現沒有查詢到值,檢視你資料庫後發現資料是存在的,直接使用sql預計查詢測試.結果卻讓我懷疑世界離開。有如《三體》中的楊冬發現自己之前堅信的物理原理被打破後的那種無力感。
如下,查詢status=1 結果卻返回為0的結果
查詢為2卻返回為1的結果
後來再文豪同志的提醒下,可能是資料型別錯誤了。
改正之後便沒有錯誤了 如下
後來,查了下《高效能mysql》 enum型別儲存的是字串
strace f strace ls 引發的問題
strace 是linux下常用的跟蹤程式系統呼叫的工具。strace簡介 可使用 strace 來跟蹤 cmd 所使用的系統呼叫,原理是 strace 程序 fork 乙個子程序並使用 ptrace 系統呼叫設定和監聽子程序的狀態。使用 strace f 可以跟蹤cmd和它的子程序 下面給出乙個簡...
string memset 引發的問題
在centos 作業系統中給乙個 string 數字賦值,結果程式崩潰了。但是在ubuntu 系統下好好的。gdb 除錯提示如下 看到提公升猜測 1 string 和 string.h 有問題,各種調查 修改 編譯 執行還是掛了,結果提示一樣。2 string 賦值有問題,結果本地建立string ...
由Typedef引發的問題
由typedef 引發的問題 自 用來宣告乙個別名,typedef 後面的語法,是乙個宣告。本來筆者以為這裡不會產生什麼誤解的,但結果卻出乎意料,產生誤解的人不在少數。罪魁禍首又是那些害人的教材。在這些教材中介紹 typedef 的時候通常會寫出如下形式 typedef int para 這種形式跟...