聯系官方銷售客服
1835022288
028-61286886
PHP程序里面
1、功能:數據入庫后,在代碼里實現自動更新類目(類目已存在則讀取類目ID,不存在則創建該類目);
2、問題:讀取類目的SQL報“You must set the database table to be used with your query”;
3、方法:
//查詢類目是否已存在,存在則返回ID,不存在則插入
$hasOneSql = 'SELECT `id`, `pid`, `pids`, `name`, `dirname`, `pdirname`, `childids` FROM `dr_1_tp_category` WHERE `pid`=0 AND `pids`=0 AND `name`="'.$oneCat.'"';
$hasOneRs = \Phpcmf\Service::M()->db->query($hasOneSql);
或者
$hasOneRs = \Phpcmf\Service::M()->db->table("1_tp_category")->select("id,pid,pids,name,dirname,pdirname,childids")->where("pid=0 and pids=0 and name='".$oneCat."'")->get();
4、語句:
SELECT `id`, `pid`, `pids`, `name`, `dirname`, `pdirname`, `childids` FROM `dr_1_tp_category` WHERE `pid`=0 AND `pids`=0 AND `name`="女裝"
5、問題:
這個SQL在"SQL手冊“執行都沒什么問題,那是這里\Phpcmf\Service::M()->db->query()或\Phpcmf\Service::M()->db->table()->select()->get()有什么前提嗎?在這個語句執行之前,我只有一條查詢產品\Phpcmf\Service::M()->db->table("1_tp")->where("item_id", $pid)->get();語句。
http://www.zbshanke.com/codeigniter/database/results.html
謝謝答復!
$hasOneRs = \Phpcmf\Service::M()->db->query($hasOneSql);
$hasOne = $hasOneRs->getRowArray();
我在代碼中也對結果進行判斷,表現出來的現象是:
如果表中存在數據,則能正常返回一維數組;
如果表中不存在數據,就直接報錯,而不是返回null。
回復@官方研發技術-張偉
非常完美
加個 IF 才完美!
參考文檔:《數據庫操作》
我把這段的完整代碼貼一下哈~
最大的問題就是這個語句查詢數據為空時,也同時報系統錯誤!
這個語句查詢數據為空時,也同時報系統錯誤!?
報什么錯誤??,理論上數據為空時不會報錯啊
系統錯誤,就是按理應該不會報錯,我也就是在操作類目表這里遇到,比較納悶。
這個語句去直接執行了也不會有什么問題,所以我比較懷疑,是不是前面有緩存之類問題,或者是遇到什么BUG(@反饋BUG)了?
回復@官方研發技術-張偉
我試過,沒有錯誤提示。
0000會不會是mysql數據庫故障了
學習一下