PDOコンストラクターを使用してデータベースとDSNに接続する方法の詳細な説明
pdoは、異なるデータベースの統一インターフェイスにアクセスする問題を解決するために、php5で新しく追加されたデータベース抽象化レイヤーです。 PEAR::DB クラスや ADODB クラスの動作と似ていますが、PHP 拡張機能で直接カプセル化されており、自由に使用できます。
前回の記事『PDOとは? 「PDOの特徴の概要とPDOのインストール方法」では、PDOとは何か、PDOの特徴とインストール方法について紹介しましたので、この記事ではデータベースに接続するためのPDOコンストラクターとDSNの詳細を紹介します!
PDO コンストラクターはデータベースに接続します
PDO でデータベース接続を確立するには、PDO コンストラクターの構文形式は次のとおりです:
_construct(string $dsn[,string $username[,string $password[,array $driver_options]]])
コンストラクターのパラメーター。
dsn: ホスト名、ポート番号、データベース名を含むデータ ソース名。
username: データベースに接続するためのユーザー名。
password: データベースに接続するためのパスワード。
driver_options: データベースに接続するためのその他のオプション。
次に、例を直接使用して、PDO を介して MySQL データベースに接続する方法を説明します。具体的なコードは次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 $dbms = "mysql"; // 数据库的类型 $dbName ="php_cn"; //使用的数据库名称 $user = "root"; //使用的数据库用户名 $pwd = "root"; //使用的数据库密码 $host = "localhost"; //使用的主机名称 $dsn = "$dbms:host=$host;dbName=$dbName "; try{ //捕获异常 $pdo = new PDO($dsn,$user,$pwd); //实例化对象 echo "PDO连接数据库成功"; }catch (Exception $e){ echo $e->getMessage()."<br>"; }
ページの出力結果は次のとおりです。
注:上記のフィールドの一部が正しく入力されていない場合は、渡されます。try catch ステートメントは例外をスローします。
DSNの詳しい説明
DSNとは何ですか?
DSN は Data Source Name の略称です。 DSN は、データベースへの接続に必要な情報を提供します。 PDO の DSN には、PDO ドライバー名 (mysql、sqlite、pgsql など)、コロン、およびドライバー固有の構文の 3 つの部分が含まれます。各データベースには、独自の固有のドライバー構文があります。
異なるデータベースを使用する場合、データベースサーバーが PHP から完全に独立しており、エンティティであることを明確にする必要があります。ただし、実際の状況では、データベース サーバーと Web サーバーが同じコンピュータ上にない場合があります。この場合、PDO 経由でデータベースに接続する必要がある場合は、DSN のホスト名を変更します。
データベースサーバーは特定のポートでのみ接続リクエストをリッスンするためです。各データベース サーバーにはデフォルトのポート番号 (MySQL は 3306) がありますが、データベース管理者はポート番号を変更できるため、PHP がデータベースのポート番号を見つけられない可能性があります。この場合、ポート番号を含めることができます。 DSN。例:
$dsn="mysql:host=127.0.0.1;port=3306;dbname=admin";
1 つのデータベースに同時に複数のデータベースが存在する可能性があるため、DSN 経由でデータベースに接続する場合、通常はデータベース名が含まれます。これにより、ユーザーが希望するデータベースが他のデータベースではなく確実に接続されるようになります。データベース!
これは、PDO コンストラクターを使用してデータベースと DSN を接続する方法の詳細な紹介です。その後、PDO で SQL ステートメントを実行するいくつかの方法を紹介します。詳細については、「 での実行」を参照してください。 PDO』SQL文の3つの方法》!
以上がPDO コンストラクターを使用してデータベースと DSN に接続する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。