设为首页 加入收藏

TOP

引起 MySQL server has gone away方法 与原因
2011-06-12 21:45:49 来源: 作者: 【 】 浏览:101次 评论:0

今天 在我写一个数据导入时出来了 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太长,原因我就不说了,一个变量生存期问题。

您看到此篇文章时的感受是:
Tags: 责任编辑:administrator
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇mysql order by 效率提高方法 下一篇删除重复数据sql语句

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位