PHPのMySQL接続
PHP 5以降とMySQLを接続するには、以下の方法をお勧めします。
- mysqli拡張(「i」が改善されたことを意味)
- PDO(PHPデータオブジェクト)
PHPの初期のバージョンでは、我々は、MySQL拡張機能を使用しています。 しかし、2012年の展開はお勧めしません。
私は、MySQLiを、またはPDOを使うのか?
あなたは短い答えを必要とする場合、それは "あなたはどれを使用するために使用するもの。」であり、
MySQLiをとPDOは、独自の利点があります。
唯一のMySQLデータベースのための12の異なるデータベース内のPDOアプリケーション、MySQLiを。
あなたは様々なデータベースでプロジェクトを切り替える必要がある場合にのみ、接続文字列を変更する必要があり、部門が問い合わせることができるのでだから、PDOを使用することをお勧めします。 使用MySQLiのは、異なるデータベース場合は、クエリを含むすべてのコードを再作成する必要があります。
両方とも、オブジェクト指向であるが、MySQLiをAPIインターフェースを提供します。
両方が準備された文をサポートしています。 Webプロジェクトのセキュリティのために、SQLインジェクションを防ぐために準備されたステートメントは非常に重要です。
MySQLiをとPDO接続MySQLインスタンス
この章と次の章では、PHP、MySQLを動作実証するために、次の三つの方法を使用します。
- MySQLiを(オブジェクト指向)
- MySQLiを(プロセス指向)
- PDO
MySQLiをインストール
LinuxとWindows:mysqli拡張のPHP5のMySQLのパッケージは、ほとんどの場合、インストールされると自動的にインストールされています。
詳細についてはインストールは、以下を参照してください。 http://php.net/manual/en/mysqli.installation.php
インストールが成功した場合は、phpinfoを通じて()を参照するには:
PDOのインストール
インストールの詳細については、以下を参照してください。 http://php.net/manual/en/pdo.installation.php
インストールが成功した場合は、phpinfoを通じて()を参照するには:
MySQLの接続
私たちは、MySQLデータベースを訪問する前に、我々は、データベース・サーバに接続する必要があります。
例(MySQLiを - オブジェクト指向)
$サーバー名= "localhost"を。
$ユーザ名= "ユーザ名";
$パスワード= "パスワード";
//接続を作成します。
$コン=新しいmysqliの($のサーバー名、$ユーザ名、$パスワード);
//接続のテスト
場合($ conn-> connect_error){
死ぬ( "接続に失敗しました:"。$ conn-> connect_errorを)。
}
「正常に接続された "エコー;
?>
上記の例のオブジェクト指向の$ PHP 5.2.9でconnect_errorおよび5.3.0で追加されていることに注意してください。 あなたは以前のバージョンとの互換性が必要な場合は、交換するには、次のコードを使用してください: //接続のテスト 場合(mysqli_connect_error()){ (「データベース接続に失敗しました: "mysqli_connect_error())死にます。 } |
例(MySQLiを - プロセス指向)
$サーバー名= "localhost"を。
$ユーザ名= "ユーザ名";
$パスワード= "パスワード";
//接続を作成します。
$コン= mysqli_connect($のサーバー名、$ユーザ名、$パスワード);
//接続のテスト
{(!$ CONN)の場合
死ぬ( "接続に失敗しました:"。mysqli_connect_error());
}
「正常に接続された "エコー;
?>
(PDO)の例
$サーバー名= "localhost"を。
$ユーザ名= "ユーザ名";
$パスワード= "パスワード";
{しよう
$コン=新しいPDO( "mysqlの:ホスト= $サーバー名; dbnameに= MYDB"、$ユーザ名、$パスワード);
「正常に接続された "エコー;
}
キャッチ(PDOExceptionます$ e)の
{
エコーは$ e-> getMessage()の;
}
?>
上記の例では、我々はPDOデータベース(MYDB)を指定していることに注意してください。 接続中のPDOは、データベース名を設定する必要があります。 指定しない場合、例外がスローされます。 |
密接な関係
接続は自動的にスクリプトの実行後に閉じます。 また、接続をクローズするには、次のコードを使用することができます。