萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 引起 MySQL server has gone away方法 與原因

引起 MySQL server has gone away方法 與原因

今天 在我寫一個數據導入時出來了 mysql教程 server has gone away第一眼看上以為是數據庫教程掛了,但其它正常,從網站找資料發現,原因是sql語句太長,以致超過了max_allowed_packet的大小,如果是這種原因,仔細檢測了sql語句如下:

while( $rs = mysql_fetch_array( $query ) )

{

$os = autoaddlink( $os );

  insert  ....數據保存,

}

函數如下

function autoaddlink( $str )
{
 $spath ='{cmspath}'; 
 $sql ="select typename,id,typedir  from 3g_arctype  where topid<>175";
 $query = mysql_query( $sql ) or die( mysql_error()) ; 
 $tmps教程tr = strtolower($str) ;
 
 while( $rs = mysql_fetch_array( $query ) )
 {
  $rs['typename'] = strtolower( str_replace('手機主題','',str_replace('主題','',str_replace('諾基亞','',$rs['typename']))));   
  $tmpstr =str_replace($rs['typename'],"<a href="".str_replace($spath,'',$rs['typedir'])."">".$rs['typename']."</a>",$tmpstr);
  
 }
 return $tmpstr;
}

從面代碼不仔細看是發現不了總是,我們看到

$os = autoaddlink( $os );

  insert  ....數據保存,

如果單獨不放在while循環是沒有任何問題的,如果放在可能就導入sql太長,原因我就不說了,一個變量生存期問題。

copyright © 萬盛學電腦網 all rights reserved