网站发布不了文章,提示更新附加表 `dede_addon17` 时出错,请检查原因!搜索了原因,发现很多人出现 这个问题,现在将修复方法公布如下: 系统可能是dede5.6,dede5.7,dede v5.7sp1等 出现问题一般为 1、发布文章时出现 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给dedecms官方; 2、上传图片是出现 把数据保存到数据库附加表dede_addonimages时出错,请把相关信息提交给dedecms官方 3、第三方模型发布出 […]
网站发布不了文章,提示更新附加表 `dede_addon17` 时出错,请检查原因!搜索了原因,发现很多人出现 这个问题,现在将修复方法公布如下:
系统可能是dede5.6,dede5.7,dede v5.7sp1等
出现问题一般为
1、发布文章时出现 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给dedecms官方;
2、上传图片是出现 把数据保存到数据库附加表'dede_addonimages'时出错,请把相关信息提交给dedecms官方
3、第三方模型发布出现 更新附加表 `dede_addon17` 时出错,请检查原因!
原因是在dede_addonimages、addonimages 、dede_addon17等对应的里少了一个名为(body)的字段。
解决方法:
执行下面的SQL创建这个字段就不出现那个错误了:
方法为 点击后台系统-SQL命令行工具-运行SQL命令行:运行对应的SQL语句就行
1、 ALTER TABLE `dede_addonarticle` ADD `body` mediumtext
2、 ALTER TABLE `dede_addonimages` ADD `body` mediumtext
3、ALTER TABLE `dede_addon17` ADD `body` mediumtext
一定要找到对应的字段然后添加
问题二、最近在给商品型加入图集功能时,发布信息提示you have an errovr in sql syntax; VALUES(X,X,X,X) {dede:img text="" width="h" at line 2
解决方法:
英文提示是说数据库的语法有问题,由对用户的数据库比较以为是数据库版本问题,但是默认的图集是可以了,后来找很多朋友看。朋友告诉我是语法错了。查了很久也没有找到原因。
由于自己的粗心在加入代码时少了一个)号,导致出错。
//保存到附加表
$cts = $dsql->GetOne("SELECT addtable FROM `58pic_channeltype` WHERE id='$channelid' ");
$addtable = trim($cts['addtable']);
if(!empty($addtable))
{
$useip = GetIP();
$query = "INSERT INTO `{$addtable}`(aid,typeid,redirecturl,userip,pagestyle,maxwidth,imgurls,row,col,isrm,ddmaxwidth,pagepicnum,body{$inadd_f})
Values('$arcID','$typeid','$redirecturl','$useip','$pagestyle','$maxwidth','$imgurls','$row','$col','$isrm','$ddmaxwidth','$pagepicnum','$body'{$inadd_v})";
if(!$dsql->ExecuteNoneQuery($query))
{
$gerr = $dsql->GetError();
$dsql->ExecuteNoneQuery("DELETE FROM `58pic_archives` WHERE id='$arcID'");
$dsql->ExecuteNoneQuery("DELETE FROM `58pic_arctiny` WHERE id='$arcID'");
ShowMsg("把数据保存到数据库附加表 `{$addtable}` 时出错,请把相关信息提交给DedeCms官方。".str_replace('"','',$gerr),"javascript:;");
exit();
}
}
这一行最后少了一个,)
$query = "INSERT INTO `{$addtable}`(aid,typeid,redirecturl,userip,pagestyle,maxwidth,imgurls,row,col,isrm,ddmaxwidth,pagepicnum,body{$inadd_f}
正确的应该是
$query = "INSERT INTO `{$addtable}`(aid,typeid,redirecturl,userip,pagestyle,maxwidth,imgurls,row,col,isrm,ddmaxwidth,pagepicnum,body{$inadd_f})