2014-12-01 72 views
0

我不知道从哪里开始这个错误:的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开发人员。
我会提前感谢您的帮助。
亲切的问候,弗兰克

回答

0

可能是你已经更新你的模块,但只是忘了运行数据库更新?尝试转到your_site/update.php页面并按照说明操作。

当然,您必须先以管理员身份登录,然后才能执行此操作。

+0

我无法登录,登录时发生错误。 – Frank 2014-12-03 20:15:33

+0

哦,对不起,我的坏... 尝试评论功能导致此错误和登录。 可能我可以给你一个更好的答案,但我需要看到你的网站的代码。 – Timofey 2014-12-04 15:10:36

相关问题