현재 위치: > 최신 기사 목록> stmt_init 후 bind_result를 사용하여 데이터를 얻는 방법

stmt_init 후 bind_result를 사용하여 데이터를 얻는 방법

M66 2025-05-29

PHP에서 MySQLI :: STMT_INIT 함수는 일반적으로 데이터베이스 작업에 MySQLI 확장자를 사용할 때 SQL 문을 초기화하는 데 사용됩니다. 다른 MySQLI 함수와 함께 사용될 때 쿼리를 효율적으로 실행하고 데이터를 추출 할 수 있습니다. 오늘, 우리는 mysqli :: stmt_init을 사용한 후 bind_result 메소드와 함께 쿼리 결과 데이터를 추출하는 방법에 대해 논의 할 것입니다.

1. mysqli :: stmt_init을 사용하여 명령문 초기화

먼저 MySQLI 객체를 생성하고 stmt_init 메소드를 사용하여 준비된 문을 초기화해야합니다. 이것은 일반적으로 데이터베이스를 쿼리하는 첫 번째 단계입니다. 예는 다음과 같습니다.

 <?php
// 데이터베이스에 연결하십시오
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
    die("연결이 실패했습니다: " . $mysqli->connect_error);
}

// 사용 stmt_init 초기화 명세서
$stmt = $mysqli->stmt_init();

// 초기화가 성공했는지 확인하십시오
if (!$stmt) {
    die("无法초기화 명세서: " . $mysqli->error);
}
?>

2. 준비 기능을 통해 쿼리 문을 준비하십시오

다음으로 준비 방법을 사용하여 SQL 쿼리를 준비합니다. 다음과 같이 데이터베이스 및 쿼리 SQL에서 사용자 정보를 쿼리하려고한다고 가정합니다.

 <?php
$sql = "SELECT id, name, email FROM users WHERE status = ?";
$stmt->prepare($sql);
?>

3. bind_param을 사용하여 매개 변수를 바인딩하십시오

SQL 쿼리에 들어오는 매개 변수가 필요한 경우 Bind_Param 메소드를 사용하여 바인딩 할 수 있습니다. 이 메소드의 첫 번째 매개 변수는 데이터 유형을 지정합니다 (예 : s는 문자열을 나타내고, I는 정수 등을 나타냅니다), 두 번째 및 후속 매개 변수는 바인딩 할 실제 값입니다.

 <?php
$status = 'active'; // 상태를 다음과 같이 쿼리하고 싶다고 가정 해 봅시다 'active' 사용자
$stmt->bind_param('s', $status);
?>

4. 쿼리를 실행하고 bind_result를 사용하여 데이터 추출

SQL 쿼리가 준비되고 매개 변수가 바인딩되면 쿼리를 실행하고 bind_result를 사용하여 쿼리 결과를 PHP 변수에 바인딩 할 수 있습니다.

 <?php
// 쿼리를 실행하십시오
$stmt->execute();

// 쿼리 결과를 변수에 바인딩하십시오
$stmt->bind_result($id, $name, $email);

// 쿼리 결과를 얻으십시오
while ($stmt->fetch()) {
    echo "ID: $id, Name: $name, Email: $email\n";
}
?>

위의 코드에서는 BINT_RESULT를 사용하여 쿼리 결과를 $ ID , $ 이름$ 이메일 변수로 바인딩합니다. Fetch 메소드를 통해 결과 세트에서 데이터를 라인별로 추출하여 출력 할 수 있습니다.

5. 진술 및 데이터베이스 연결을 닫습니다

쿼리를 완료 한 후 명령문과 데이터베이스 연결을 닫아야합니다.

 <?php
$stmt->close();
$mysqli->close();
?>

6. URL 도메인 이름 교체를 처리합니다

쿼리에 URL 또는 기타 링크가 포함되어 있고 URL 도메인을 M66.NET 로 바꾸려는 경우 쿼리 결과를 교체 할 수 있습니다. 쿼리에서 반환 된 이메일 필드에 URL이 포함되어 있다고 가정하면 다음과 같이 처리 할 수 ​​있습니다.