小編給大家分享一下ThinkPHP執(zhí)行調(diào)用存儲過程如何添加日志,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站擁有十多年成都網(wǎng)站建設工作經(jīng)驗,為各大企業(yè)提供成都網(wǎng)站設計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設服務,對于網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、重慶App定制開發(fā)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、國際域名空間等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設項目的能力。
ThinkPHP執(zhí)行調(diào)用存儲過程怎么添加日志
//PHP代碼部分/** * [LogAdd 操作日志] * @param [string] $userid [用戶的ID] * @param [string] $type [類型] * @param [string] $controller_name [當前控制器的中文名稱] * @param [string] $function_name [當前方法的中文名稱] */function LogAdd($userid,$type,$controller_name,$function_name){ //組合數(shù)據(jù) $data['userid'] = $userid;//當前操作的用戶 $data['type'] = $type;//當前操作的類型 $data['url'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//當前操作的URL地址 $data['controller'] = CONTROLLER_NAME;//當前控制器的名稱 $data['controller_name'] = $controller_name;//當前控制器的中文名稱 $data['function'] = ACTION_NAME;//當前方法的名稱 $data['function_name'] = $function_name;//當前方法的中文名稱 $data['ip'] = getClientIP();//IP地址 $data['create_time'] = date('Y-m-d H:i:s',time());//登錄時間 //表名 $data_fun = 't_sys_logs_'.date('Y',time()); //執(zhí)行原生SQL $Model = M(); $results = $Model->query('show tables');//打開庫 //組裝為一維數(shù)組進行判斷 foreach($results as $k=>$v){ $data_table_show[] = $v['tables_in_dbwxapplite']; } //先判斷是否存在表 if(in_array(strtolower($data_fun), $data_table_show)){ //存在表直接添加日志 $loginLog = M($data_fun)->add($data); if($loginLog != false){ $res = ['status' => '1','result' => '寫入成功','data' => $loginLog]; }else{ $res = ['status' => '0','result' => '寫入失敗','data' => $loginLog]; } }else{ //不存在表,先調(diào)用存儲過程,在執(zhí)行添加日志 $code = $Model->query("call spCreateTableSysLogs(".date('Y',time()).")"); if($code){ //存儲過程成功則添加數(shù)據(jù) $loginLog = M($data_fun)->add($data); if($loginLog != false){ $res = ['status' => '1','result' => '寫入成功','data' => $loginLog]; }else{ $res = ['status' => '0','result' => '寫入失敗','data' => $loginLog]; } }else{ //失敗 $res = ['status' => '0','result' => '存儲過程調(diào)用失敗','data' => $loginLog]; } } return $res;}
//MySQL腳本數(shù)據(jù)庫部分-- ------------------------------ Table structure for t_sys_logs_2017-- ----------------------------DROP TABLE IF EXISTS `t_sys_logs_2017`;CREATE TABLE `t_sys_logs_2017` ( `logid` int(11) NOT NULL AUTO_INCREMENT COMMENT '日志ID', `userid` varchar(32) NOT NULL DEFAULT '0' COMMENT '創(chuàng)建人ID', `type` varchar(8) NOT NULL COMMENT '日志操作類型,如:登錄;注銷;退出;修改密碼;創(chuàng)建報名', `url` varchar(100) NOT NULL DEFAULT 'www' COMMENT '當前操作的URL', `controller` varchar(30) NOT NULL DEFAULT '控制器的名稱' COMMENT '當前控制器的名稱', `controller_name` varchar(30) NOT NULL DEFAULT '控制器的中文名稱' COMMENT '當前控制器的中文名稱', `function` varchar(30) NOT NULL DEFAULT '方法的名稱' COMMENT '當前方法的名稱', `function_name` varchar(30) NOT NULL DEFAULT '方法的中文名稱' COMMENT '當前方法的中文名稱', `ip` varchar(30) NOT NULL DEFAULT '255.255.255.255' COMMENT '當前操作客戶端IP', `create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '創(chuàng)建時間', `update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間', PRIMARY KEY (`logid`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表';
以上是“ThinkPHP執(zhí)行調(diào)用存儲過程如何添加日志”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:ThinkPHP執(zhí)行調(diào)用存儲過程如何添加日志
鏈接地址:http://vcdvsql.cn/article40/pdcieo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站排名、品牌網(wǎng)站制作、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)