PHPのPDO接続マネージャ
接続が確立されたPDOのベースクラスのインスタンスを作成しています。 かかわらず、ドライバの、PDOクラス名を使用しています。
MySQLへの接続
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>
注:任意の接続エラーがある場合は、例外オブジェクトのPDOExceptionをスローしてます。
接続エラーを処理
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
成功した接続データの後、スクリプトにPDOクラスのインスタンスを返す、この接続寿命のPDOオブジェクトがアクティブのままになります。
接続を閉じるには、あなたがそれに残りのすべての参照が削除されることを確実にするために、オブジェクトを破壊する必要があり、あなたは、オブジェクト変数にNULL値を割り当てることができます。
そうしない場合、スクリプトの終了時にPHPは自動的に接続を閉じます。
接続を閉じるには:
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); // 在此使用连接 // 现在运行完成,在此关闭连接 $dbh = null; ?>
多くのWebアプリケーションでは、データベース・サービスへの持続的接続を使用することによって利益を得ます。
持続的接続は、スクリプトの終了時に閉じられませんし、同じ資格情報の接続要求を使用して、別のスクリプトを再利用する際に、キャッシュされます。
持続的接続キャッシュスクリプトは、そのようなWebアプリケーションをより速く、答えを持つ新しいデータベース接続を確立するオーバーヘッドを回避する必要があるたびに。
永続的な接続
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true )); ?>
注意:あなたが永続的な接続を使用する場合は、PDOコンストラクタセットPDO :: ATTR_PERSISTENTを駆動するためにオプションの配列を渡す必要があります。 オブジェクトはPDOで初期化された後に::のsetAttribute()このプロパティを設定するためにあなたがしている場合、ドライバは持続的な接続を使用しません。
PHPのPDOリファレンスマニュアル