라이브러리
[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 이상이어야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.