1

ねえみんな、あなたが私を助けてくれることを望んでいました。

基本的に、私は他の誰かが codeigniter を使用して作成した Web サイトに取り組んでいます。このサイトには、開発用とライブ用の 2 つのインスタンスがあります。このサイトはまだ建設中です。つまり、ファイルは常に変更されており、(テスト後に) 開発サイトから実際のサイトに移動されています。

問題は、サイトを最初に作成した人が、いくつかのビューからいくつかのデータベース呼び出しを行ったことです。ビューからデータベースにアクセスするために、彼は手動でビューからデータベースに接続しました。

$db=mysql_connect(...);
mysql_select_db(...);

これは、ビューが変更されるたびに、開発サイトからライブ サイトにファイルをコピーする前に、これらのビュー内の変数を変更する必要があることを意味します。

すべてのクエリをモデルに移動し、コントローラーを介してそれらを呼び出すには時間がかかりすぎるため、database.php ファイルのデータベース変数にアクセスして、それらを mysql_connect の変数として渡す方法があるかどうか疑問に思っていました。

$this->db->database を試しましたが、「未定義のプロパティ: CI_Loader::$db」というエラーが表示されました

前もって感謝します

4

4 に答える 4

2

ビューからデータベースオブジェクトにアクセスする方法はありません。そして、あなたもすべきではありません

$db=mysql_connect(...);
mysql_select_db(...);

ビューで。それらの呼び出しをビューから削除してみてください。そしてそれをモデルから呼びます。

これが、codeigniterのMVCが 使用したものです。他に、codeigniterフレームワークを使用することの使用について説明します。

参照:

  1. codeigniterのビューからモデルにアクセスしますか?
  2. CodeIgniter-ビュー内から関数を呼び出す
于 2012-06-20T14:06:14.833 に答える
0

まず第一に、この答えを見てみるよりも、データベース呼び出しをビューに移動することに熱心ではありません:https ://stackoverflow.com/a/5835321/1444604

于 2012-06-20T14:05:37.673 に答える
0

constant.php で定数を定義し、データベースのユーザー名、パスワード、ホスト名などを割り当てて、好きな場所で使用します

于 2012-06-20T14:09:22.053 に答える