Typecho搜索不出结果

in 没有技术 with 0 comment

前言

使用PHP将Typecho数据库备份,再导入恢复后发现搜索功能废掉了,不管搜索什么关键词都搜索不到结果。

提示:

没有找到内容,请换别的关键字进行检索

很明显是导出的数据库出了一些问题。

确定问题

唔,先找出到底是哪里出问题了。
将一份正常的数据库同这次备份的数据库进行比较,选一个用的顺手的对比工具就行了,什么?你觉得眼睛用着挺好的?ummm,祝你幸运。

解决

通过对比发现,在正常的SQL文件中,在使用INSERT INTO向表中插入新记录时,会存在NULL值,而在出问题的SQL文件中本应该显示NULL值的,却显示成了''
现在已经可以基本确定是PHP脚本有一个小BUG,没有对NULL值进行特殊处理,导致直接把NULL输出成了'',解决方法也很简单,发现值为NULL单独处理一下就行。
把PHP脚本修改一下,重新备份,重新导入,发现一切正常,和正常的SQL文件进行对比,未发现异常,问题解决。

ummm,其实我本来都不准备写下来的,只是这个问题似乎很少见。
我发现问题时特地搜索了一下,也没什么收获,所以还是写下来吧。

给自己做一个备份,顺便也能让后面踩坑的人知道大概到底是哪里出问题了,23333。

Responses