我不知道从哪里开始这个错误:的Drupal 7 PDOException:的SQLState [42S22],未知的领域
PDOException:SQLSTATE [42S22]:列未找到:在“田 '创建' 1054未知列列表':SELECT created FROM {counter} WHERE created <> 0 ORDER BY created DESC LIMIT 1; counter_block_view()中的Array()(来自/customers/6/8/3/lmtc.be/httpd.www/drupal/sites/all/modules/counter/counter.module的第143行)。
该错误发生在登录!
文件counter.module看起来是这样的:
127 // counter_insert_delay
128 $db_types = db_driver();
129 switch ($db_types) {
130 case 'mssql':
131 $sql = " SELECT TOP 1 created FROM {counter} WHERE created<>0 ORDER BY created DESC";
132 break;
133
134 case 'oracle':
135 $sql = " SELECT created FROM {counter} WHERE ROWNUM=1 AND created<>0 ORDER BY created DESC";
136 break;
137
138 // mysql, mysqli, pgsql.
139 default:
140 $sql = " SELECT created FROM {counter} WHERE created<>0 ORDER BY created DESC LIMIT 1";
141 }
142
143 $counter_lastdate = db_query($sql)->fetchField();
我的数据库看起来是这样的:
22901 --
22902 -- Table structure for table `counter`
22903 --
22904
22905 CREATE TABLE IF NOT EXISTS `counter` (
22906 `counter_id` int(11) NOT NULL AUTO_INCREMENT,
22907 `counter_ip` varchar(32) NOT NULL DEFAULT '',
22908 `counter_date` varchar(32) NOT NULL DEFAULT '',
22909 `counter_page` varchar(255) NOT NULL DEFAULT '0',
22910 PRIMARY KEY (`counter_id`),
22911 KEY `counter_date` (`counter_date`),
22912 KEY `counter_ip` (`counter_ip`)
22913) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=217 ;
结论:确实是有没有在我的MySQL数据库 '创造' 栏。但是我在这个网站上改变的最后一件事是几个月前的两篇文章。该结构的最后一次改变是很久以前的事了,自从站点设置以来,站点计数器从未改变过。
我能做些什么才能重新登录?我应该删除计数器模块吗?
ps我不是一个Drupal开发人员。
我会提前感谢您的帮助。
亲切的问候,弗兰克
我无法登录,登录时发生错误。 – Frank 2014-12-03 20:15:33
哦,对不起,我的坏... 尝试评论功能导致此错误和登录。 可能我可以给你一个更好的答案,但我需要看到你的网站的代码。 – Timofey 2014-12-04 15:10:36