PHPでのデータベース接続方法 – PHPで始めるプログラミング
PHPでデータベースに接続する方法は、いくつかの手段があります。この記事では、それらの手段について詳しく説明します。
MySQLiを使用する方法
MySQLiは、MySQLに接続するための改善された方法です。例えば、以下のように個々の要素を設定して接続することができます。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// 接続の作成
$conn = new mysqli($servername, $username, $password, $dbname);
// 接続の確認
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
上記のコードを使用することで、データベースへ正常に接続できるかどうかを確認できます。
PDOを使用する方法
PDO (PHP Data Objects)は、データベースに対する汎用的なインターフェースを提供します。さらに、複数のデータベースに対して同一のコードを使用できるため非常に便利です。
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
try {
$dbh = new PDO($dsn, $username, $password);
echo "Connected successfully";
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
上記のコードは、PDOを使用してデータベースに接続する方法を示しています。また、例外処理によりエラーメッセージが適切に表示されるようになっています。
PDOとプリペアドステートメント
さらに、PDOを使用してプリペアドステートメントを実行することで、SQLインジェクションを防ぐことができます。以下はその例です。
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
try {
$dbh = new PDO($dsn, $username, $password);
$stmt = $dbh->prepare("SELECT * FROM users WHERE email = :email");
$stmt->bindParam(':email', $email);
$email = 'example@example.com';
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
print_r($row);
}
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
このように、プリペアドステートメントを使用することで、安全にデータベースクエリを実行することができます。
まとめ
このように、PHPでデータベースに接続する方法は複数あり、それぞれに利点があります。MySQLiはMySQLに特化しており、PDOは複数のデータベースに対応しています。したがって、プロジェクトの要件に応じて適切な方法を選択すると良いでしょう。
参考文献: MySQLi マニュアル(外部リンク) または PDO マニュアル(外部リンク)