網站數據庫出錯如何修復,織夢教程
導讀:織夢教程織夢教程今天一個朋友找到我,說他用織夢CMS做的網站遇到了大錯誤,數據出錯了,求我幫他急救。我問下了,情況是這樣的:他在操作時發現這個數據庫表dede_archives織夢模板修改dede手機模板。
今天一個朋友找到我,說他用織夢CMS做的網站遇到了大錯誤,數dede網站模板據出錯了,求我幫他急救。我問下了,情況是這樣的:
他在操作時發現這個數據庫表dede_archives出錯,出錯提示: Can’t open file: ‘dede_archives.MYI’. (errno: 145) – Execute Query False! Select count(*) as dd From dede_archives limit 0,1;
看到提示后,單擊修復也沒用。
我也不是什么高手,也能從網上搜索答案,加之實踐操作,終于搞定,下面我的操作流程,提供給大家學習參考。
仔細分析后,發現是dede自動截取文章簡介產生亂碼引起保存到數據庫出錯。
解決方法是替換掉dede的一個函數(SpHtml2Text):
此函數在下面文件 第四行: include\inc\inc_fun_funString.php
dede后臺模板原型是: function SpHtml2Text($str){ $str = preg_replace(”/||/isU”,”",$str); $alltext = “”; $start = 1; for($i=0;$i if($start==0 && $str[$i]dede手機模板==">“) $start = 1; else if($start==1){ if($str[$i]==”< "){ $start = 0; $alltext .= " "; } else if(ord($str[$i])>31) $alltext .= $str[$i]; } } $alltext = str_replace(” ”,” “,$alltext); $alltext = preg_replace(”/&([^;&]*)(;|&)/”,”",$alltext); $alltext = preg_replace(”/[ ]+/s”,” “,$alltext); return $alltext; }
其作用是去掉所有htm標記。
俺替換成下面的函數: function SpHtml2Text($str){ $alltext = str_replace(” ”,”",$str); $alltext=strip_tags(trim($alltext));//haha123_0 去掉所有htm標記 return $alltext; }
問題不再出現:》
歡迎批評指正。
方法三(無法顯示): http://bbs.織夢模板.com/read.php?tid=35453&keyword=dede%5C_archives 我抄出來一下吧:
用mysql的用戶,經常會遇到這樣的問題,檢查mysql日志,錯誤信息為:
Table ‘.\織夢模板v4\dede_archives’ is marked as crashed and should be repaired
提示說cms的文章表dede_archives被標記有問題,需要修復。于是趕快恢復歷史數據,上網查找原因。最終將問題解決。解決方法如下:
找到mysql的安裝目錄的bin/myisamchk工具,在命令行中輸入:
myisamchk -c -r ../data/織夢模板v4/dede_archives.MYI
然后myisamchk 工具會幫助你恢復數據表的索引。重新啟動mysql,問題解決。
問題分析:
1、錯誤產生原因,有網友說是頻繁查詢和更新dede_archives表造成的索引錯誤,因為我的頁面沒有靜態生成,而是動態頁面,因此比較同意這種說法。還有說法為是MYSQL數據庫因為某種原因而受到了損壞,如:數據庫服務器突發性的斷電、在提在數據庫表提供服務時對表的原文件進行某種操作都有可能導致MYSQL數據庫表被損壞而無法讀取數據??傊褪且驗槟承┎豢蓽y的問題造成表的損壞。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-21 ,文章網站數據庫出錯如何修復,織夢教程主要講述標簽,數據庫,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_33267.html
