把数据保存到数据库archives表时出错--解决方法!

把数据保存到数据库archives表时出错--解决方法!》摘要:在dedecms发表文章时提示把数据保存到数据库archives表时出错是很让人头痛的问题 此问题一般出现在MYSQL5以上的数据库,处理方法很简单,将mysql的strict mode关掉即可,方法如下: 找到my.ini …
在dedecms发表文章时提示把数据保存到数据库archives表时出错是很让人头痛的问题

此问题一般出现在MYSQL5以上的数据库,处理方法很简单,将mysql的strict mode关掉即可,方法如下:

找到my.ini

sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
修改为
sql-mode=”NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
即可,问题解决~”

如果没有自己服务器的虚拟主机用户用report(0)那个来关闭错误显示”

上面的方法显然不算易懂,最简单的操作方法是自己输入摘要内容和关键字,不要使用默认的提取,一定可以解决了.

另外也有通过修改程序的方法解决把数据保存到数据库archives表时出错的问题,方法如下:
打开article_add_action.php

在 134 行左右的位置
    ShowMsg("把数据保存到数据库archives表时出错,请检查!","-1");

前面加
echo $inQuery;
exit();
然后发一篇文章,把输出的SQL语句复制出来,这样才能确定错误原因。

另外在dedecms4的utf8改版中,发布文档时可能出现:
更新数据库archives表时出错,请检查! 或  把数据保存到数据库archives表时出错,请检查!
以上两种情况分别为修改和新增,对应的php为
article_eidt_action.php和article_add_action.php,数据库操作为include/pub_db_mysql.php,中文字符串截取为

include/inc_functions.php中的cn_substr函数,此函数只支持双字节即gbk编码,所以要改成截取utf-8的.此时edit已正常,但add还出错,把
if(!$dsql->ExecuteNoneQuery()){
$dsql->Close();
ShowMsg(”把数据保存到数据库archives表时出错,请检查!”,”-1″);
exit();
}
改成
if(!$dsql->ExecuteNoneQuery()){
$errorSql = htmlSpecialchars($dsql->queryString);
$errorMsg = htmlSpecialchars(mysql_error());
$dsql->Close();
//ShowMsg(”把数据保存到数据库archives表时出错,请检查!”,”-1″);
//ShowMsg是document.write的js方法,不知为什么在加入$errorSql后不显示,所以用echo
echo “把数据保存到数据库archives表时出错,请检查!查询语句:
$errorSql
mysql错误提示:
$errorMsg “;
exit();
}
共2页: 上一页 1 [2] 下一页
你的位置:电脑故障网 >> 网站制作 >> PHP教程 >> 把数据保存到数据库archives表时出错--解决方法!