聯(lián)系官方銷售客服
1835022288
028-61286886
PHP程序里面
1、功能:數(shù)據(jù)入庫后,在代碼里實(shí)現(xiàn)自動(dòng)更新類目(類目已存在則讀取類目ID,不存在則創(chuàng)建該類目);
2、問題:讀取類目的SQL報(bào)“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、問題:
這個(gè)SQL在"SQL手冊(cè)“執(zhí)行都沒什么問題,那是這里\Phpcmf\Service::M()->db->query()或\Phpcmf\Service::M()->db->table()->select()->get()有什么前提嗎?在這個(gè)語句執(zhí)行之前,我只有一條查詢產(chǎn)品\Phpcmf\Service::M()->db->table("1_tp")->where("item_id", $pid)->get();語句。
http://223987.com/codeigniter/database/results.html
謝謝答復(fù)!
$hasOneRs = \Phpcmf\Service::M()->db->query($hasOneSql);
$hasOne = $hasOneRs->getRowArray();
我在代碼中也對(duì)結(jié)果進(jìn)行判斷,表現(xiàn)出來的現(xiàn)象是:
如果表中存在數(shù)據(jù),則能正常返回一維數(shù)組;
如果表中不存在數(shù)據(jù),就直接報(bào)錯(cuò),而不是返回null。
回復(fù)@官方研發(fā)技術(shù)-張偉
非常完美
加個(gè) IF 才完美!
參考文檔:《數(shù)據(jù)庫操作》
我把這段的完整代碼貼一下哈~
最大的問題就是這個(gè)語句查詢數(shù)據(jù)為空時(shí),也同時(shí)報(bào)系統(tǒng)錯(cuò)誤!
這個(gè)語句查詢數(shù)據(jù)為空時(shí),也同時(shí)報(bào)系統(tǒng)錯(cuò)誤!?
報(bào)什么錯(cuò)誤??,理論上數(shù)據(jù)為空時(shí)不會(huì)報(bào)錯(cuò)啊
系統(tǒng)錯(cuò)誤,就是按理應(yīng)該不會(huì)報(bào)錯(cuò),我也就是在操作類目表這里遇到,比較納悶。
這個(gè)語句去直接執(zhí)行了也不會(huì)有什么問題,所以我比較懷疑,是不是前面有緩存之類問題,或者是遇到什么BUG(@反饋BUG)了?
回復(fù)@官方研發(fā)技術(shù)-張偉
我試過,沒有錯(cuò)誤提示。
0000會(huì)不會(huì)是mysql數(shù)據(jù)庫故障了
學(xué)習(xí)一下