1

重複の可能性: CodeIgniter のデータベースの問題

申し分なく、私はこれを過去2日間グーグルで検索しましたが、役に立ちませんでした。SO および codeigniter のサポート フォーラムからいくつかのヒットを受け取りましたが、それらはほとんど誤解を招くスレッドであり、他の人による「おっと」の間違いです。実際には 2 つの質問がありますが、1 つはこの頭のおかしい問題を解決するために保持できます。

私のセットアップ:

  • FRESH CodeIgniter 2.1
  • IIS 7.5、FastCGI+PHP 5.4.4
  • Windows 7 プロフェッショナル x64

では、

  1. ビューが読み込まれる前に、次の行を「ようこそ」コントローラーに追加しました。CodeIgniter は、「要求されたクラスをロードできません: データベース」を吐き出します。「データベース」も試しましたが、同じでした。

    $this->load->library('database');

  2. $autoload['libraries'] = array('database');空白のページを生成する方法を試しました。

  3. $autoload['libraries'] = array('Database');#1に見られるように、プレビューページを生成する方法も試しました。
  4. ウェルカムコントローラーからのインラインロードの上に追加しましerror_reporting(E_ALL)たが、他に何も表示されませんでした。

問題を引き起こしている可能性のある IIS の経験不足を責めることしかできません。

編集:load->database(...) #1 は修正され、データベースの自動読み込みが行われ、Ben のおかげで " " メソッドについて忘れていました...

とにかく、現在のエラーは、データベースが自動ロードによってロードされたときの単なる白いページです。私のコードは、データベースを自動ロードし、CodeIgniter で提供されるデフォルトのビューを表示するように設定されています。データベースの自動ロードを削除すると、ビューに次のように表示されます...

4

2 に答える 2

3

#2のオプションはおそらく正常に機能し、他の報告されていないPHPエラー(CIログを確認してください)が空白のページを引き起こしました.

データベースを手動でロードするには、$this->load->database(); を使用します。

詳細については、このリンクを参照してください

library() は、カスタム ライブラリ ファイル用です。

于 2012-06-27T04:29:26.483 に答える
1

これと同じ問題を抱えている人(私の将来の自分を含む)へのフォローアップです。

データベース構成にロードしている dbdriver が正しいライブラリ (dll など) を php.ini にロードしていることを確認してください。

$db['default']['dbdriver'] = 'mysqli'; //MySQLi <-- mysqli.dll
$db['default']['dbdriver'] = 'mysql'; //MySQL <-- mysql.dll
$db['default']['dbdriver'] = 'pdo'; //PDO <-- pdo.dll

正しい dll をロードしないと、CodeIgniter が空白ページで失敗します。

于 2013-04-03T13:16:16.933 に答える