PostgreSQL:phpでデータベースの接続と切断「PostgreSQL」

PostgreSQLデータベースphp接続する方法と切断する方法をメモします。

いつも忘れてしまうので。

phpでPostgreSQLに接続する場合、pg_connect()を使用すればデータベースに接続することができます。
また、PostgreSQLを切断する場合は、pg_close()を使用します。

下記にPostgreSQLphp接続切断をした時の方法を記述します。


phpでPostgreSQLへの接続と切断をする方法

・PostgreSQLに接続「pg_connect()」

ホスト名、データベース名、ユーザー名、パスワードを記述します。

$conn = pg_connect('host=localhost dbname=dbname user=username password=password');

・PostgreSQLを切断「pg_close()」

接続情報を引数に渡します。

$close = pg_close($conn);

接続・切断に失敗した場合は戻り値でFALSEが返ります。


Fuelphp:データベースを複数使用する

Fuelphpデータベースに接続する時の設定ファイルは下記の場所にあります。

/fuel/app/config/db.php
/fuel/app/config/development/db.php

データベースの設定ファイルに別のデータベース情報を追加することで複数のデータベースを使用することが可能です。

下記にFuelphp複数データベース接続する為の設定方法・使用方法をメモします。


設定方法

下記のファイルに新しく設定するデータベース情報を追加します。

「fuel/app/config/db.php」

修正前

return array(

	'active' => 'default',

	'default' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

	'redis' => array(
		'default' => array(
			'hostname'  => '127.0.0.1',
			'port'      => 6379,
		)
	),

);

修正後

return array(

	'active' => 'default',

	'default' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

	'redis' => array(
		'default' => array(
			'hostname'  => '127.0.0.1',
			'port'      => 6379,
		)
	),

	// 追加
	'sample' => array(
		'type'        => 'pdo',
		'connection'  => array(
			'persistent' => false,
		),
		'identifier'   => '`',
		'table_prefix' => '',
		'charset'      => 'utf8',
		'enable_cache' => true,
		'profiling'    => false,
	),

);

「fuel/app/config/development/db.php」

修正前

return array(

	'default' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=hoge',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

);

修正後

return array(

	'default' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=hoge',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

	// 追加
	'sample' => array(
		'connection'  => array(
			'dsn'        => 'mysql:host=localhost;dbname=sample',
			'username'   => 'ユーザー名',
			'password'   => 'パスワード',
		),
	),

);

使用方法

追加したデータベースに接続する場合は、下記のように記述します。

$query = \DB::select()->from('test');
$query->execute('sample')->as_array();

execute()に追加したデータベースを指定するとデータを参照することができます。


WordPress:WordPressのデータベースを変更する方法

WordPressを使用していて、サーバを移行する時などデータベースを変更する場合があります。
設定ファイルのデータベース情報(データベース名、ユーザー名、パスワード、ホスト名)を変更するだけで簡単にデータベースを切り替えることができます。

下記にWordPressデータベース変更した際の方法をメモします。


WordPressのデータベースを変更する

WordPressでデータベースを変更する場合は下記のファイルを修正します。

wp-config.php

「wp-config.php」はデータベースの設定やWordPressの環境を設定するファイルです。

「wp-config.php」をエディターで開き、下記のデータベース情報を変更します。

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'データベース名');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

/** MySQL のホスト名 */
define('DB_HOST', 'ホスト名');

/** データベースのテーブルを作成する際のデータベースのキャラクターセット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

新しく設定するデータベース情報で「データベース名」「ユーザー名」「パスワード」「ホスト名」の情報を変更します。
編集が終わったらサーバに「wp-config.php」をアップすればデータベースの変更が反映されます。