この記事の例では、ThinkPHP がデータベースに接続するためのいくつかの一般的な方法をまとめています。皆さんの参考に共有してください。詳細は次のとおりです:
ThinkPHP には、さまざまなデータベース操作をカプセル化する抽象データベース アクセス層が組み込まれています。データベースごとに異なるコードや基礎となる実装を作成せずに操作するには、パブリック Db クラスを使用するだけで済みます。 . Db クラスは、処理のために対応するデータベース アダプターを自動的に呼び出します。現在のデータベースには、Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase、および PDO のサポートが含まれます。アプリケーションがデータベースを使用する必要がある場合は、データベース接続情報を構成する必要があります。方法データベース設定ファイルがたくさんありますか? 2 つの定義方法:
最初の方法は、プロジェクト設定ファイルで
を定義することです。コードは次のとおりです:
return array( 'DB_TYPE'=> 'mysql', 'DB_HOST'=> 'localhost', 'DB_NAME'=>'thinkphp', 'DB_USER'=>'root', 'DB_PWD'=>'', 'DB_PORT'=>'3306', 'DB_PREFIX'=>'think_', // 其他项目配置参数……… );
通常、プロジェクトのデータベース アクセス設定は同じであり、手動で接続しなくてもデータベース接続時にシステムが自動的に取得するため、この方法を推奨します。
プロジェクトごとに異なるデータベース接続情報を定義できます。また、デバッグ用データベース構成情報をデバッグ用構成ファイル (Conf/debug.php) に定義することもできます。モード設定ファイル データベース接続情報も定義されている場合、後者はデバッグ モードで有効になり、前者はデプロイメント モードで有効になります。
関連する推奨事項: 「ThinkPHP チュートリアル 」
2 番目に、DSN メソッドを使用して、Db クラスの初期化時にパラメーターを渡します
#コードは次のとおりです:$db_dsn = "mysql://username:passwd@localhost:3306/DbName"; $db = new Db($db_dsn);
3 番目の方法は、配列を使用してパラメータを渡すことです。
コードは次のとおりです:$DSN = array( 'dbms' => 'mysql', 'username' => 'username', 'password' => 'password', 'hostname' => 'localhost', 'hostport' => '3306', 'database' => 'dbname' ); $db = new Db($DSN);
4 番目の方法は、モデル クラスで定義することです。
コードは次のとおりです:protected $connection = array( 'dbms' => 'mysql', 'username' => 'username', 'password' => 'password', 'hostname' => 'localhost', 'hostport' => '3306', 'database' => 'dbname' ); // 或者使用下面的定义 protected $connection = "mysql://username:passwd@localhost:3306/DbName";
return array( 'DB_TYPE'=> 'pdo', // 注意DSN的配置针对不同的数据库有所区别 请参考PHP手册PDO类库部分 'DB_DSN'=> 'mysql:host=localhost;dbname=think', 'DB_USER'=>'root', 'DB_PWD'=>'', 'DB_PREFIX'=>'think_', // 其他项目配置参数……… );
以上がthinkphp をデータベースに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。