라이브러리

[PHP] mysqli::stmt_init - 명령문을 초기화하고 mysqli_stmt_prepare와 함께 사용할 객체를 반환합니다.




mysqli::stmt_init() 함수

mysqli::stmt_init() 함수는 MySQLi 확장의 prepared statement를 초기화하는 함수입니다. prepared statement는 SQL 쿼리문을 미리 컴파일하여 효율적으로 실행할 수 있도록 해주며, SQL 인젝션 공격을 방지하는 데에도 도움이 됩니다.

사용 방법


mysqli::stmt_init() 함수는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

$stmt = $mysqli->stmt_init();



위 코드는 MySQLi 객체의 stmt_init() 메서드를 호출하여 prepared statement를 초기화합니다.

예제


prepared statement를 사용하여 MySQL 데이터베이스에 접속하여 데이터를 조회하는 예제를 살펴보겠습니다.

#hostingforum.kr
php

// MySQLi 객체를 생성합니다.

$mysqli = new mysqli("localhost", "username", "password", "database");



// prepared statement를 초기화합니다.

$stmt = $mysqli->stmt_init();



// prepared statement를 사용하여 SQL 쿼리를 실행합니다.

if ($stmt->prepare("SELECT * FROM users WHERE name = ?")) {

    // 쿼리 매개변수를 바인딩합니다.

    $stmt->bind_param("s", "john");



    // 쿼리를 실행합니다.

    $stmt->execute();



    // 결과를 가져옵니다.

    $stmt->bind_result($name, $email);



    // 결과를 출력합니다.

    while ($stmt->fetch()) {

        echo "이름: $name, 이메일: $email
";

    }



    // prepared statement를 닫습니다.

    $stmt->close();

} else {

    echo "prepared statement 초기화 실패
";

}



// MySQLi 객체를 닫습니다.

$mysqli->close();



위 예제에서 prepared statement를 사용하여 SQL 쿼리를 실행하고 결과를 가져옵니다. prepared statement를 사용하면 SQL 인젝션 공격을 방지할 수 있으며, 쿼리 실행 시간을 줄일 수 있습니다.

참고


prepared statement를 사용하려면 MySQLi 확장의 버전이 4.1.0 이상이어야 합니다. 또한, prepared statement를 사용하려면 MySQL 서버의 버전이 4.1.1 이상이어야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 379 페이지

검색

게시물 검색