現在の位置: ホーム> 最新記事一覧> MySqli_Resultを使用してセッションストレージと組み合わせる例

MySqli_Resultを使用してセッションストレージと組み合わせる例

M66 2025-05-28

PHP Webサイトアプリケーションを開発する場合、データベースから取得したデータをフロントエンドに動的に表示する必要があります。ユーザーがページを再リッシュまたは離れた後、このデータを永続的に保存して損失を防ぐことができることを願っています。 mysqli_result関数とPHPのセッションストレージを組み合わせることで、この目標を非常に簡単に達成できます。この記事では、データの動的な表示と永続性にこれら2つを使用する方法を詳細に紹介します。

1。mysqli_result関数は何ですか?

mysqli_resultは、mysqlクエリの結果を処理するPHPのクラスです。通常、 mysqli_queryまたはmysqli_store_result関数を通じて取得され、クエリ結果を横断するさまざまな方法を提供します。簡単な例を次に示します。

 <?php
// に接続します MySQL データベース
$mysqli = new mysqli("localhost", "user", "password", "database");

// 接続が成功しているかどうかを確認してください
if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

// クエリを実行します
$query = "SELECT id, name, email FROM users";
$result = $mysqli->query($query);

// 使用 mysqli_result クエリの結果を通過するクラス
if ($result->num_rows > 0) {
    // 各行の出力データ
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 結果";
}
$mysqli->close();
?>

上記のコードでは、 $ result変数にはデータベースクエリの結果が含まれています。 fetch_assocメソッドを使用して、行ごとにデータを抽出し、表示します。

2。セッションストレージとは何ですか?

セッションは、ユーザーセッション情報を保存するためにPHPが提供する方法です。ユーザーがWebサイトにアクセスすると、PHPは各ユーザーに一意のセッションIDを割り当て、このIDを介してデータを保存します。このデータは、ユーザーがセッションを終了したり、ブラウザを閉じたりするまで、ユーザーのセッション全体で変更されないままになります。

セッションの使用は非常に簡単です。 session_start()を介してセッションを開始し、 $ _Sessionアレイを使用してデータを保存して取得する必要があります。

 <?php
// セッションを開始します
session_start();

// データを保存します Session
$_SESSION['user_id'] = 1;
$_SESSION['user_name'] = "John Doe";

// データを取得します
echo $_SESSION['user_name'];  // 出力: John Doe
?>

3. mysqli_resultとセッションを組み合わせて、データの動的な表示と永続性を実現する方法は?

次に、 mysqli_result関数とセッションストレージを組み合わせて関数を実装します。データベースからユーザーデータを動的に取得して表示し、ページが更新された後、ユーザーが去る後にユーザーデータの永続的なストレージを維持します。

ステップ1:データベースを照会し、セッションにデータを保存します

まず、データベースから必要なデータを照会し、このデータをセッションに保存する必要があります。ここでは、ユーザーの基本情報を取得し、セッションに保存して、後続のページアクセスで直接使用できるようにすると仮定します。

 <?php
// セッションを開始します
session_start();

// に接続しますデータベース
$mysqli = new mysqli("localhost", "user", "password", "database");

// 接続が成功しているかどうかを確認してください
if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

// クエリを実行します
$query = "SELECT id, name, email FROM users WHERE id = 1";
$result = $mysqli->query($query);

// 将查询結果存储到 Session
if ($result->num_rows > 0) {
    $user_data = $result->fetch_assoc();
    $_SESSION['user_data'] = $user_data;
} else {
    echo "ユーザーデータは見つかりません";
}

$mysqli->close();
?>

ステップ2:ページにデータを動的に表示します

次に、ページ上のセッションに保存されているデータを動的に表示する必要があります。ユーザーがページを何回再表示しても、セッションが期限切れになっていないかクリアされていない限り、データは$ _Sessionアレイに保持できます。

 <?php
// セッションを開始します
session_start();

// ユーザーデータが保存されているかどうかを確認してください
if (isset($_SESSION['user_data'])) {
    $user_data = $_SESSION['user_data'];
    echo "ユーザー ID: " . $user_data['id'] . "<br>";
    echo "ユーザー名: " . $user_data['name'] . "<br>";
    echo "電子メール: " . $user_data['email'] . "<br>";
} else {
    echo "ユーザーデータは見つかりません";
}
?>

ステップ3:セッションデータをクリアします

時には、ユーザーがログアウトまたはログアウトするときに、セッションのデータをクリアする必要があります。セッションデータは、 session_unset()またはsession_destroy()を使用してクリアできます。

 <?php
// セッションを開始します
session_start();

// クリア Session データ
session_unset();

// 破壊する Session
session_destroy();

echo "あなたは正常にログアウトしました";
?>

4。概要

mysqli_result関数とPHPセッションストレージを組み合わせることにより、データベースにデータを動的に表示し、ユーザーがページを再表示した後もデータの持続性を維持できます。セッションは、各ユーザーに永続的なストレージスペースを提供し、 mysqli_resultを使用すると、データベースからデータを簡単に取得および処理できます。

このテクノロジーは、ユーザーログインステータス、パーソナライズされた設定、またはユーザーデータを一時的に保存するアプリケーションに非常に役立ちます。これら2つを柔軟に組み合わせることで、ユーザーエクスペリエンスを改善し、データを効果的に管理できます。