[英]Drupal 7 theme('pager') -> PDOException: SQLSTATE[42S02]: Base table or view not found
first time i have asked for help on a forum for a very long time. 我第一次在论坛上寻求帮助已经很长时间了。 Normally find what i need by viewing other posts... Well i'm really confused so need help.
通常,通过查看其他帖子可以找到我需要的东西。。。我真的很困惑,所以需要帮助。
I am trying to use theme('pager')
in Drupal 7 to have pagination for my table results i get from a db_select
query. 我试图在Drupal 7中使用
theme('pager')
对我从db_select
查询中获得的表结果进行分页。
The below query produces an error when i include the line: 当我包含该行时,以下查询会产生错误:
$output .= theme('pager');
If i leave this line out i get the expected limited 5 results from my table. 如果我不填写这一行,我将从表中获得预期的有限5个结果。
My code: 我的代码:
// Set external databse
db_set_active('nondrupal');
// build query to get desired results
$query = db_select('diary', 'n')
->fields('n', array('photo_id', 'photo'))
->orderBy('photo_id', 'DESC');
//Create a new object from extend. The reason for this is that extend() creates a new object which wraps the current object (Decorator pattern).
$query = $query->extend('PagerDefault')->limit(5);
// Execute query and add to array
$result = $query->execute();
// empty output var
$output = NULL;
// Loop through results and output each row for chosen columns
foreach($result as $row) {
$output .= $row->photo_id.': '.$row->photo.'<br />';
}
// Show pagination in output
$output .= theme('pager');
// echo output to screen
echo $output;
// Set db connection back to default (drupal)
db_set_active();
The page renders fine without the theme('pager')
line. 没有
theme('pager')
行,页面呈现良好。
With it i get an error: 有了它我得到一个错误:
Additional uncaught exception thrown while handling exception.
Original
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
'dbMYDATABASENAME.semaphore' doesn't exist: SELECT expire,
value FROM {semaphore} WHERE name = :name; Array ( [:name] =>
theme_registry:runtime:garland:cache ) in lock_may_be_available() (line 167
of /homepages/28/d228752694/htdocs/drupal7/includes/lock.inc).
Base table or view not found seems to be the key but i cannot see why including the theme function causes this error. 找不到基表或视图似乎是关键,但是我看不到为什么包括主题功能会导致此错误。 I have a basic Drupal 7 install.
我有一个基本的Drupal 7安装。
Your help is appreciated! 感谢您的帮助!
Madmilner Madmilner
The error is down to the: 错误归结为:
// Show pagination in output
$output .= theme('pager');
// echo output to screen
echo $output;
being above db_set_active();
高于
db_set_active();
Not sure why this is but it fixes the problem. 不知道为什么会这样,但是可以解决问题。
Thanks 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.