0
我使用CodeIgniter發展,一段時間後我發現所有的查詢正在執行兩次爲MySQL日誌波紋管顯示:笨的複製SQL查詢
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=95
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=95
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=95
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=95
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=95
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=95
55 Query SELECT addon_name FROM addon WHERE addon_id='1' OR addon_id='4'
55 Query SELECT addon_name FROM addon WHERE addon_id='1' OR addon_id='4'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=95
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=95
55 Query SELECT skill_name FROM skill WHERE skill_id='2' OR skill_id='4' OR skill_id='13'
55 Query SELECT skill_name FROM skill WHERE skill_id='2' OR skill_id='4' OR skill_id='13'
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=9
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=9
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=9
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=9
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=9
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=9
55 Query SELECT addon_name FROM addon WHERE addon_id='1'
55 Query SELECT addon_name FROM addon WHERE addon_id='1'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=9
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=9
55 Query SELECT skill_name FROM skill WHERE skill_id='1' OR skill_id='4'
55 Query SELECT skill_name FROM skill WHERE skill_id='1' OR skill_id='4'
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=16
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=16
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=16
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=16
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=16
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=16
55 Query SELECT addon_name FROM addon WHERE addon_id='2' OR addon_id='4'
55 Query SELECT addon_name FROM addon WHERE addon_id='2' OR addon_id='4'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=16
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=16
55 Query SELECT skill_name FROM skill WHERE skill_id='16'
55 Query SELECT skill_name FROM skill WHERE skill_id='16'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=68
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=68
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=68
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=68
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=68
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=68
55 Query SELECT addon_name FROM addon WHERE addon_id='7'
55 Query SELECT addon_name FROM addon WHERE addon_id='7'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=68
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=68
55 Query SELECT skill_name FROM skill WHERE skill_id='1' OR skill_id='3'
55 Query SELECT skill_name FROM skill WHERE skill_id='1' OR skill_id='3'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=79
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=79
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=79
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=79
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=79
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=79
55 Query SELECT addon_name FROM addon WHERE addon_id='4'
55 Query SELECT addon_name FROM addon WHERE addon_id='4'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=79
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=79
55 Query SELECT skill_name FROM skill WHERE skill_id='2' OR skill_id='4' OR skill_id='6'
55 Query SELECT skill_name FROM skill WHERE skill_id='2' OR skill_id='4' OR skill_id='6'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=86
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=86
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=86
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=86
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=86
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=86
55 Query SELECT addon_name FROM addon WHERE addon_id='2' OR addon_id='3'
55 Query SELECT addon_name FROM addon WHERE addon_id='2' OR addon_id='3'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=86
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=86
55 Query SELECT skill_name FROM skill WHERE skill_id='8' OR skill_id='13'
55 Query SELECT skill_name FROM skill WHERE skill_id='8' OR skill_id='13'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=92
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=92
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=92
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=92
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=92
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=92
55 Query SELECT addon_name FROM addon WHERE addon_id='3' OR addon_id='4' OR addon_id='5' OR addon_id='8'
55 Query SELECT addon_name FROM addon WHERE addon_id='3' OR addon_id='4' OR addon_id='5' OR addon_id='8'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=92
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=92
55 Query SELECT skill_name FROM skill WHERE skill_id='3' OR skill_id='6' OR skill_id='19'
55 Query SELECT skill_name FROM skill WHERE skill_id='3' OR skill_id='6' OR skill_id='19'
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT user_display FROM user WHERE user_id=2
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=12
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=12
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=12
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=12
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=12
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=12
55 Query SELECT addon_name FROM addon WHERE addon_id='3' OR addon_id='4' OR addon_id='8'
55 Query SELECT addon_name FROM addon WHERE addon_id='3' OR addon_id='4' OR addon_id='8'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=12
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=12
55 Query SELECT skill_name FROM skill WHERE skill_id='11'
55 Query SELECT skill_name FROM skill WHERE skill_id='11'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=34
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=34
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=34
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=34
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=34
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=34
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=34
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=34
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=34
55 Query SELECT skill_name FROM skill WHERE skill_id='3'
55 Query SELECT skill_name FROM skill WHERE skill_id='3'
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT user_display FROM user WHERE user_id=1
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=74
55 Query SELECT TIMEDIFF(NOW(),contest_create) FROM contest WHERE contest_id=74
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=74
55 Query SELECT TIMEDIFF(ADDDATE(contest_create, INTERVAL contest_duration DAY),NOW()) FROM contest WHERE contest_id=74
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=74
55 Query SELECT add_addon_id FROM addon_contest WHERE add_contest_id=74
55 Query SELECT addon_name FROM addon WHERE addon_id='1'
55 Query SELECT addon_name FROM addon WHERE addon_id='1'
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=74
55 Query SELECT required_skill_id FROM skill_contest WHERE required_contest_id=74
55 Query SELECT skill_name FROM skill WHERE skill_id='2'
55 Query SELECT skill_name FROM skill WHERE skill_id='2'
55 Query SELECT skill_name FROM skill WHERE skill_status=2
55 Query SELECT skill_name FROM skill WHERE skill_status=2
55 Quit
當一些INSERT查詢的問題運行,然後所有信息被插入兩次,並且查看查詢的順序,我可以得出結論,我沒有兩次調用模型,但是當我調用「$ this-> db-> query($ sql)」時,這是被髮送給mySQL兩次。 也許我在CodeIgniter中有一些錯誤的數據庫配置,有沒有人知道發生了什麼?
您是否嘗試過使用模型的獨立調用,該模型會生成虛擬查詢,以檢查是否調用了兩次。如果不是,錯誤在代碼中的某處,循環或其他什麼使得雙重呼叫 –
其實我沒有嘗試過模型,但如果在代碼中有一些額外的調用日誌應該是不同的。例如,我有一個函數,先選擇,然後在INSERT之後,如果這個函數被調用兩次,日誌應該是「SELECT INSERT SELECT INSERT」,但是日誌顯示「SELECT SELECT INSERT INSERT」。 –
你可以發表一個被稱爲兩次的模型方法的例子嗎? – Jeemusu