Base table or view not found

Drupalのモジュールを開発していて
モジュール内でアクセス制御を行おうと思い。
drupal_access_denied();や
drupal_not_found();を実行してみると
Base table or view not foundのエラーが

Drupalとは別データベースにアクセスしていたのが原因なようで
db_set_active(‘external_database’);を実行すると
エラーメッセージ的に言うとベースデータベース?が切り替わるようで
not found等の処理を行う前にdb_set_active(‘default’);で
デフォルトのデータベースに戻してあげると
drupal_not_found();とした場合の制御が戻ります。

Published by

kashioka

有限会社アリウープ 代表取締役社長 PHPユーザ会の発起人の一人。いちばんやさしいPHPの教本(インプレス),PHPハンドブック(ソフトバンククリエイティブ)著者。PHPカンファレンス実行委員 明日の開発カンファレンス開催 認定スクラムマスター。近年、PHPに限らずサーバレス環境でのPythonなども書いたりしている。 http://alleyoop.jp