解决Typecho评论时报错Database Query Error的日记
in 技术日志 with 2 comments and 153 read

解决Typecho评论时报错Database Query Error的日记

in 技术日志 and 154 read

解决方法

更新一下CommentToMail插件到4.2.5版本即可。旧版本已经落伍了。

历程

自建的博客总是能出各种各样的问题,贼烦。

环境稳定也就罢了,主机提供商还总是偷偷摸摸的升级环境,导致各种各样的Bug出现。

这两天我发现我的博客评论区,发表评论的时候会报错:

Database Query Error

但是返回一看,其实评论是成功了的,这是怎么回事呢?

于是我找了主机壳服务提供商提了一个工单,对方工程师给我找了一下最近的错误日志,说是1366错误。

[Wed Jul 29 09:17:34.013505 2020] [php7:notice] [pid 123622] [client 103.88.46.149:0] SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'sent' at row 1, referer: https://www.maemo.cc/about-me.html?replyTo=483

我随便搜了一下,大家都让在config.inc.php里加这样一句代码,输出详细报错信息。

/** 开启调试模式,错误页面会显示具体的错误内容 */
define('__TYPECHO_DEBUG__', true);

开启之后,果然管用,于是我重新测了一下,获得了报错信息:

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'sent' at row 1
Typecho_Db_Query_Exception: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'sent' at row 1 in var/Typecho/Db/Adapter/Pdo.php:105
Stack trace:
#0 var/Typecho/Db.php(353): Typecho_Db_Adapter_Pdo->query('INSERT INTO typ...', Object(PDO), 2, 'INSERT')
#1 usr/plugins/CommentToMail/Plugin.php(254): Typecho_Db->query(Object(Typecho_Db_Query))
#2 var/Typecho/Plugin.php(489): CommentToMail_Plugin::parseComment(Object(Widget_Feedback), NULL)
#3 var/Widget/Feedback.php(146): Typecho_Plugin->__call('Widget_Feedback...', Array)
#4 var/Widget/Feedback.php(336): Widget_Feedback->comment()
#5 var/Typecho/Router.php(138): Widget_Feedback->action()
#6 index.php(23): Typecho_Router::dispatch()
#7 {main}

完了这样一看,应该是plugins/ComentToMail出问题了。

当机立断,把它关了。

于是再测试一下,发现没有报错了。

于是我就顺手下载了一个最新版的插件。

更新上去之后,配置了一下SMTP服务器地址、账号、客户端授权码(因为是Yeah邮箱,必须有这个才能行)。

然后发送了一个测试邮件,发现发送正确——然后再去测试一下评论,已经不会报错了。

完美解决。

Responses
  1. 终于修了,每次评论都吓得以为写的内容丢了

    Reply
    1. @iMaeGoo

      因为之前都是在后台上回复评论,我自己没碰见这个问题。直到有一天我到博文页面回复你,才碰见了问题。

      Reply