PHP에서 MySQLI :: STMT_INIT 함수는 일반적으로 데이터베이스 작업에 MySQLI 확장자를 사용할 때 SQL 문을 초기화하는 데 사용됩니다. 다른 MySQLI 함수와 함께 사용될 때 쿼리를 효율적으로 실행하고 데이터를 추출 할 수 있습니다. 오늘, 우리는 mysqli :: stmt_init을 사용한 후 bind_result 메소드와 함께 쿼리 결과 데이터를 추출하는 방법에 대해 논의 할 것입니다.
먼저 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);
}
?>
다음으로 준비 방법을 사용하여 SQL 쿼리를 준비합니다. 다음과 같이 데이터베이스 및 쿼리 SQL에서 사용자 정보를 쿼리하려고한다고 가정합니다.
<?php
$sql = "SELECT id, name, email FROM users WHERE status = ?";
$stmt->prepare($sql);
?>
SQL 쿼리에 들어오는 매개 변수가 필요한 경우 Bind_Param 메소드를 사용하여 바인딩 할 수 있습니다. 이 메소드의 첫 번째 매개 변수는 데이터 유형을 지정합니다 (예 : s는 문자열을 나타내고, I는 정수 등을 나타냅니다), 두 번째 및 후속 매개 변수는 바인딩 할 실제 값입니다.
<?php
$status = 'active'; // 상태를 다음과 같이 쿼리하고 싶다고 가정 해 봅시다 'active' 사용자
$stmt->bind_param('s', $status);
?>
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 메소드를 통해 결과 세트에서 데이터를 라인별로 추출하여 출력 할 수 있습니다.
쿼리를 완료 한 후 명령문과 데이터베이스 연결을 닫아야합니다.
<?php
$stmt->close();
$mysqli->close();
?>
쿼리에 URL 또는 기타 링크가 포함되어 있고 URL 도메인을 M66.NET 로 바꾸려는 경우 쿼리 결과를 교체 할 수 있습니다. 쿼리에서 반환 된 이메일 필드에 URL이 포함되어 있다고 가정하면 다음과 같이 처리 할 수 있습니다.