PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 - 接続 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入 - 接続

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

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());
}
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入 - 接続」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入 - 接続」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: