PHPのMySQLiとデータ取得方法【ウェブデザイン技能検定 1級学科範囲】

MySQLは、リレーショナルデータベース管理システムの事ですが、今回はPHPでMySQLデータベースとやり取りするための拡張機能MySQLi(MySQL Improved)を紹介します。

PHPはサーバーサイドのスクリプト言語として広く使用されており、その中でもMySQLデータベースと連携するためのMySQLi拡張機能は非常に強力なツールです。
MySQLiを使用してデータベースからデータを取得する方法について詳しく解説します。

MySQLiとは

MySQLi(MySQL Improved)は、MySQLデータベースと連携するためのPHP拡張機能です。
MySQLiは、MySQL拡張機能の改良版であり、オブジェクト指向インターフェースと手続き型インターフェースの両方を提供します。
また、プリペアドステートメントやトランザクションなど、MySQLの最新機能もサポートしています。

データベース接続

MySQLiを使用してデータベースに接続する基本的な方法は以下の通りです。

例:データベース接続

$mysqli = new mysqli("localhost", "user_name", "user_pass", "my_db");

if ($mysqli->connect_error) {
    die("接続失敗: " . $mysqli->connect_error);
}

データの取得

データベースからデータを取得するためには、SQLクエリを実行し、その結果を処理する必要があります。以下に、MySQLiを使用してデータを取得する方法を示します。

例:データ取得

$key = $_GET['id'];
$sql = "SELECT id, title FROM tours WHERE id = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("i", $key);
$stmt->execute();
$stmt->bind_result($id, $title);

while ($stmt->fetch()) {
    echo "ID: $id, Title: $title";
}

$stmt->close();

この例では、prepareメソッドを使用してSQLステートメントを準備し、bind_paramメソッドを使用して変数をバインドしています。これにより、SQLインジェクション攻撃を防ぐことができます。executeメソッドでクエリを実行し、bind_resultメソッドで結果を変数にバインドしています。

bind_resultメソッド

bind_resultメソッドは、プリペアドステートメントの実行結果を変数にバインドします。このメソッドを使用することで、SQLクエリの結果を簡単に処理することができます。

例:bind_resultの使用

$stmt->bind_result($id, $title);

while ($stmt->fetch()) {
    echo "ID: $id, Title: $title";
}

まとめ

MySQLiは、PHPとMySQLデータベースを連携させるための強力なツールです。
データベース接続、データ取得、プリペアドステートメントの使用方法を理解することで、効率的で安全なデータベース操作が可能になります。
ウェブデザイン技能検定においても、MySQLiの基本的な使い方を理解していることが求められます。

MySQLi以外にもPDOというものがあったりと他にもデータベースとの接続方法がありますので、機会があったら紹介したいと思います。

2024年現在、私のまわりではPDOという方法を使用されている方が多く感じます。

スポンサーリンク

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事

 

スポンサードリンク