PHP 웹 사이트 응용 프로그램을 개발할 때는 종종 데이터베이스에서 프론트 엔드로 얻은 데이터를 동적으로 표시해야하며, 사용자가 페이지를 새로 고치거나 떠난 후이 데이터를 지속적으로 저장하여 손실을 방지 할 수 있기를 바랍니다. MySQLI_RESULT 기능을 PHP 세션 스토리지와 결합하면이 목표를 매우 쉽게 달성 할 수 있습니다. 이 기사는 동적 디스플레이 및 데이터 지속성 에이 두 가지를 사용하는 방법을 자세히 소개합니다.
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 ariable에는 데이터베이스 쿼리의 결과가 포함됩니다. Fetch_assoc 메소드를 사용하여 데이터 행을 행으로 추출하여 표시합니다.
세션은 사용자 세션 정보를 저장하기 위해 PHP가 제공하는 방법입니다. 사용자가 웹 사이트를 방문하면 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
?>
다음으로 MySQLI_RESULT 기능 및 세션 스토리지를 결합하여 기능을 구현합니다. 데이터베이스에서 사용자 데이터를 동적으로 얻고 페이지를 새로 고치거나 사용자 데이터를 영구적으로 저장하는 것을 유지하면서 표시합니다.
먼저 데이터베이스에서 필요한 데이터를 쿼리 하고이 데이터를 세션 에 저장해야합니다. 여기서 우리는 사용자의 기본 정보를 얻고 세션에 저장하여 후속 페이지 액세스에서 직접 사용할 수 있다고 가정합니다.
<?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();
?>
다음으로, 페이지의 세션 에 저장된 데이터를 동적으로 표시해야합니다. 사용자가 페이지를 몇 번이나 새로 고치더라도 세션이 만료되지 않았거나 지우는 한 데이터를 $ _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 "사용자 데이터가 발견되지 않았습니다";
}
?>
때로는 사용자가 로그 아웃하거나 로그 아웃 할 때 세션 에서 데이터를 지워야합니다. 세션 데이터는 session_unset () 또는 session_destroy ()를 사용하여 지울 수 있습니다.
<?php
// 세션을 시작하십시오
session_start();
// 분명한 Session 데이터
session_unset();
// 파괴하다 Session
session_destroy();
echo "당신은 성공적으로 로그 아웃했습니다";
?>
MySQLI_RESULT 기능과 PHP 세션 스토리지를 결합하여 데이터베이스에 데이터를 동적으로 표시하고 사용자가 페이지를 새로 고침 한 후에도 데이터 지속성을 유지할 수 있습니다. 세션은 각 사용자에게 지속적인 저장 공간을 제공하며 MySQLI_Result를 사용하면 데이터베이스에서 쉽게 데이터를 얻고 처리 할 수 있습니다.
이 기술은 사용자 로그인 상태, 개인화 된 설정 또는 사용자 데이터를 임시로 저장하는 응용 프로그램에 매우 유용합니다. 이 두 가지를 유연하게 결합하면 사용자 경험을 향상시키고 데이터를 효과적으로 관리 할 수 있습니다.