導入 - 接続

導入 - 接続 – 接続および接続の終了

Description

データベースに接続する際には、関数 connect()を使用します。 この関数は、有効なDSN を第 1 パラメータとして要求します。 このパラメータには、文字列あるいは配列のいずれかを指定できます。 配列を使用する場合、 指定した配列がデフォルト情報とマージされます。

$dsn = array(
    'phptype'  => false,
    'dbsyntax' => false,
    'username' => false,
    'password' => false,
    'protocol' => false,
    'hostspec' => false,
    'port'     => false,
    'socket'   => false,
    'database' => false,
);

パラメータで指定することでデフォルト値を上書きでき、 指定しなかった残りの要素はデフォルト値がそのまま使用されます。

第 2 パラメータは、 このパッケージのためのランタイム構成設定を含むことができるオプションの $options配列です。 利用可能な設定について、より詳細な情報は setOption()を参照してください。

成功時にデータベースクラスの新規インスタンスを取得出来ます。 isError() によりこの返り値を確認することを強く推奨します。

データベースクラスのインスタンスから接続を切断するには、関数 disconnect() を使用します。

接続と切断

<?php
require_once 'DB.php';

$dsn 'pgsql://someuser:apasswd@localhost/thedb';
$options = array(
    
'debug'       => 2,
    
'portability' => DB_PORTABILITY_ALL,
);

$db =& DB::connect($dsn$options);
if (
PEAR::isError($db)) {
    die(
$db->getMessage());
}

// ...

$db->disconnect();
?>

配列を DSN 情報に使用して接続する

<?php
require_once 'DB.php';

$dsn = array(
    
'phptype'  => 'pgsql,
    '
username' => 'someuser',
    '
password' => 'apasswd',
    '
hostspec' => 'localhost',
    '
database' => 'thedb',
);

$options = array(
    '
debug'       => 2,
    '
portability' => DB_PORTABILITY_ALL,
);

$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) {
    die($db->getMessage());
}
?>

DSN 配列を使用して SQLite に接続する場合、 mode 要素の値は文字列でなければいけません:

<?php
$dsn 
= array(
    
'phptype'  => 'sqlite',
    
'database' => 'thedb',
    
'mode'     => '0644',
);
?>

配列を DSN 情報に使用し、SSL 経由で MySQLi に接続する

$options 配列の ssl 要素は、 SSL 作業をするために、TRUE に設定しなければなりません。 $dsn 配列(下記の例の cipher から key)の各追加要素はオプションです。

<?php
require_once 'DB.php';

$dsn = array(
    
'phptype'  => 'mysqli',
    
'username' => 'someuser',
    
'password' => 'apasswd',
    
'hostspec' => 'localhost',
    
'database' => 'thedb',
    
'key',     => 'client-key.pem',
    
'cert'     => 'client-cert.pem',
    
'ca'       => 'cacert.pem',
    
'capath'   => '/path/to/ca/dir',
    
'cipher'   => 'AES',
);

$options = array(
    
'ssl' => true,
);

$db =& DB::connect($dsn$options);
if (
PEAR::isError($db)) {
    die(
$db->getMessage());
}
?>

ソケット経由で PostgreSQL データベースに接続する

<?php
require_once 'DB.php';

$dsn 'pgsql://someuser:apasswd@unix(/tmp)/thedb';
$options = array(
    
'debug'       => 2,
    
'portability' => DB_PORTABILITY_ALL,
);

$db =& DB::connect($dsn$options);
if (
PEAR::isError($db)) {
    die(
$db->getMessage());
}
?>
データソース名(The Data Source Name) (Previous) クエリを実行する (Next)
Last updated: Fri, 18 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.