ホームページ  >  記事  >  データベース  >  PDO接続データベースとDSNの詳細説明

PDO接続データベースとDSNの詳細説明

黄舟
黄舟オリジナル
2017-02-25 10:30:512015ブラウズ

PDO コンストラクター

PDO でデータベースとの接続を確立するには、PDO コンストラクターをインスタンス化する必要があります。 PDO コンストラクターの構文は次のとおりです。

__construct(string $dsn[,string $username [,string $password[,array $driver_options]]])

パラメータの説明は次のとおりです

dsn: ホスト名、ポート番号、データベース名を含むデータ ソース名。

username: データベースに接続するためのユーザー名

password: データベースに接続するためのパスワード

driver_options: データベースに接続するためのその他のオプション

例:

$dbms='mysql';
$dbName='admin';
$user='root';
$pwd='password';
$host='localhost';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    echo "PDO连接MySQL成功";
}catch(Exception $e){
    echo $e->getMessage().&#39;<br>&#39;;
}

実行結果は次のようになります:

PDO连接MySQL成功

上記の間違った場所では、try catch ステートメントによって例外がスローされます

DSN の詳しい説明

DSN は Data Source Name の略称です。 DSN は、データベースへの接続に必要な情報を提供します。 PDO の DSN には、PDO ドライバー名 (mysql、sqlite、pgsql など)、コロン、およびドライバー固有の構文の 3 つの部分が含まれます。各データベースには、独自の固有のドライバー構文があります。

実際には、一部のデータベース サーバーが Web サーバーと同じコンピューター上にない場合があるため、DSN のホスト名を変更する必要があります。

データベース サーバーは特定のポートでのみ接続リクエストをリッスンするため、各データベース サーバーにはデフォルトのポート番号 (MySQL は 3306) がありますが、データベース管理者はポート番号を変更できるため、PHP がポート番号を見つけられない場合があります。このとき、データベースのポート番号を DSN に含めることができます。

例:

$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";

さらに、データベース サーバーには複数のデータベースがある場合があるため、DSN 経由でデータベースに接続する場合、通常はデータベース名が含まれます。これにより、接続されているデータベースが

であることが保証されます。ユーザーは他のデータベースではなく、 を望んでいます。

上記は、PDO 接続データベースと DSN の詳細な説明です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。