1

私は、Oracle データベースに基づいて Web アプリケーションを作成する必要がある学校のプロジェクトを作成しています。いくつかの php フレームワークをテストした後、現在 CodeIgniter を使用しています。私はMVCとphpにかなり慣れていないので、間違っていたらすみません..

(MVC フレームワークであること)、私のモデルでは、次のようなクエリを実行できることを理解しています

$query = $this->db->query("SELECT * FROM tablename");

しかし、私の研究では、クエリ/挿入などを実行するたびに、接続を開いて操作を行った後に終了することをお勧めします。私はそれが「矛盾」を防ぐことになっていると信じています..次のようなもの

<?php
    $conn = oci_connect('user', 'pass', 'dbname');
    $query = 'select * from tablename';
    $stid = oci_parse($conn, $query);
    oci_execute($stid, OCI_DEFAULT);
    while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
    foreach ($row as $item) {
    echo $item." | ";
    }
    echo "
    \n";
    }
    oci_free_statement($stid);
oci_close($conn);
?>

そうですか?もしそうなら、私が自分のモデルで行っているそのコマンドは正しいですか? このphpスクリプトをview.phpファイルで実行することしか考えられませんが、そうすることで、MVCの「概念」を実装していないと思います。この種のphpスクリプトを呼び出すだけです...そうですか?2つの方法で結果を取得していますが、どちらが最善の方法かわかりません..

前もって感謝します!

4

2 に答える 2

2

あなたはそのような仕事をする必要はありません。MVCです。モード ビュー コントローラー . すべてが完了し、管理されます。config フォルダーに保持されている database.php ファイルに接続の詳細を指定する必要があります。そして、ci は自動的にデータベースに接続します。

そして、これらすべてのクエリをモデルで呼び出します。要件に合わせてモデルで関数を作成し、コントローラーで呼び出します。したがって、コントローラーで結果を取得してビューに渡すことができます。

于 2012-12-08T19:33:29.800 に答える
1

Codeigniter MVC フレームワークを使用しているため、独自のデータベース ルーチンを追加することは間違いなく過剰であり、適切な方法ではありません。CI には十分に開発された安全な DB ライブラリがあり、CI アクティブ レコード構文を使用すると、db クエリが大幅に簡素化されます。したがって、これを調べて、思考トラフ フレームワークの大きな利点を学んでください。

http://ellislab.com/codeigniter/user-guide/database/active_record.html

于 2012-12-08T19:35:19.977 に答える