라이브러리
[PHP] mysqli::prepare - 실행을 위해 SQL 문을 준비합니다.
mysqli::prepare
PHP의 `mysqli` 클래스는 MySQL 데이터베이스와 상호 작용하는 데 사용되는 확장입니다. `mysqli::prepare` 메서드는 SQL 쿼리를 준비하고, 쿼리 매개 변수를 바인딩하는 데 사용됩니다.
왜 사용해야 하나요?
`mysqli::prepare`를 사용하는 이유는 다음과 같습니다.
* SQL 인젝션 공격 방지: 쿼리 매개 변수를 바인딩하여 SQL 인젝션 공격을 방지할 수 있습니다.
* 코드 재사용: 준비된 쿼리를 여러 번 사용할 수 있습니다.
* 성능 향상: 쿼리를 준비하는 과정을 분리하여 성능을 향상할 수 있습니다.
예제
다음 예제는 `mysqli::prepare`를 사용하여 사용자 이름과 비밀번호를 확인하는 쿼리를 작성하는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// MySQL 연결 설정
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";
// MySQL 연결 객체 생성
$conn = new mysqli($servername, $username, $password, $dbname);
// 쿼리 준비
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
// 쿼리 매개 변수 바인딩
$stmt->bind_param("ss", $username, $password);
// 쿼리 실행
$stmt->execute();
// 결과 가져오기
$result = $stmt->get_result();
// 결과 출력
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . "
";
echo "Username: " . $row["username"] . "
";
echo "Password: " . $row["password"] . "
";
}
// 자원 해제
$stmt->close();
$conn->close();
?>
예제 설명
1. MySQL 연결 설정: MySQL 연결 설정을 합니다.
2. MySQL 연결 객체 생성: MySQL 연결 객체를 생성합니다.
3. 쿼리 준비: 쿼리를 준비합니다. `?`는 쿼리 매개 변수를 나타냅니다.
4. 쿼리 매개 변수 바인딩: 쿼리 매개 변수를 바인딩합니다. `bind_param` 메서드는 매개 변수의 타입을 지정합니다. `s`는 문자열을 나타냅니다.
5. 쿼리 실행: 쿼리를 실행합니다.
6. 결과 가져오기: 결과를 가져옵니다.
7. 결과 출력: 결과를 출력합니다.
8. 자원 해제: 자원을 해제합니다.
주의사항
* 쿼리 매개 변수를 바인딩할 때, 매개 변수의 타입을 지정해야 합니다.
* 쿼리 매개 변수를 바인딩할 때, 매개 변수의 이름을 지정해야 합니다.
* 쿼리 매개 변수를 바인딩할 때, 매개 변수의 타입과 이름을 지정해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.