CodeIgniter:通过 Google 访问时网站显示数据库错误

CodeIgniter: Website displays database error when accessed through Google

当我通过Google点击网站时,页面显示数据库错误:

A Database Error Occurred

Error Number: 1048

Column 'referrer_keywords' cannot be null

INSERT INTO st_referrer (referrer_type, referrer_url, referrer_keywords, referrer_time) VALUES ('Search Engine', 'www.google.com.au', NULL, 1426669760)

Filename: libraries/Analytics.php

Line Number: 186

然而,当我直接访问该页面时(通过输入 URL 或导航至该页面),它加载得非常好。

出于某种原因,该网站的排名和索引也很差。 主页 根本没有出现在 Google 的结果中。只有两个有点随机的页面会出现,并且这些页面显示在 Google 结果的第二页上,即使我使用与站点名称匹配的精确关键字也是如此。单击这两个页面时都会产生相同的错误。

从错误示例中可以明显看出,列 refferer_keywords 设置了 NOT NULL 属性。如果需要传递 NULL 字段值,请更改列属性。它可以解决问题。