데이터베이스 작업에 PHP의 MySQLI 확장을 사용할 때 MySQLI_STMT :: ATT_GET 기능은 비교적 인 인기가 없지만 매우 유용한 기능입니다. 전처리 명령문 오브젝트의 속성 값을 얻는 데 사용될 수 있으므로 현재 MySQL 서버 및 클라이언트가 속성 상수가 지원되는지 여부를 결정하는 데 도움이됩니다. 이 기사는 MySQLI_STMT :: ATT_GET 함수를 사용하여 속성 상수의 지원을 판단하고 예제 코드를 제공하는 방법을 자세히 소개합니다.
mysqli_stmt :: attr_get은 mysqli 객체 지향 인터페이스에서 mysqli_stmt 클래스의 메소드이며, 이는 전처리 문의 속성을 얻는 데 사용됩니다. 속성 상수를 매개 변수로 받아들이고 속성의 현재 값을 반환합니다. 속성이 지원되지 않거나 유효하지 않은 경우 일반적으로 False가 반환됩니다.
일반적인 속성 상수는 다음을 포함합니다.
mysqli_stmt_attr_update_max_length
mysqli_stmt_attr_cursor_type
mysqli_stmt_attr_prefetch_rows
mysqli_stmt_attr_cursor_name
이러한 특성의 값을 얻으면 현재 환경이 이러한 특성을 지원하는지 여부를 결정할 수 있습니다.
MySQL의 다른 버전과 클라이언트 중심의 구현 차이로 인해 특정 환경에서는 일부 속성이 지원되지 않을 수 있습니다. 코드가 이러한 속성을 직접 설정하거나 가져 오면 오류 또는 예외가 발생할 수 있습니다. 속성이 지원되는지 판단함으로써 개발자는 프로그램 충돌을 피하고 프로그램 견고성과 호환성을 향상시킬 수 있습니다.
주요 아이디어는 특정 속성의 값을 얻으려면 mysqli_stmt :: attr_get 을 호출하는 것입니다. 반환 값이 False 인 경우 속성은 지원되지 않습니다. 그렇지 않으면이 속성이 지원됩니다.
샘플 코드는 다음과 같습니다.
<?php
// 데이터베이스에 연결하십시오
$mysqli = new mysqli('m66.net', 'username', 'password', 'database');
if ($mysqli->connect_errno) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
// 전처리 진술을 준비하십시오
$stmt = $mysqli->prepare("SELECT ?");
// 감지 해야하는 속성 상수
$attributes = [
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH,
MYSQLI_STMT_ATTR_CURSOR_TYPE,
MYSQLI_STMT_ATTR_PREFETCH_ROWS,
MYSQLI_STMT_ATTR_CURSOR_NAME,
];
// 트래버스 특성,테스트 지원 상태
foreach ($attributes as $attr) {
$value = $stmt->attr_get($attr);
if ($value === false) {
echo "속성 상수 {$attr} 지원되지 않거나 유효하지 않습니다。\n";
} else {
echo "속성 상수 {$attr} 지원하다,현재 값은입니다: {$value}\n";
}
}
// 진술과 연결을 닫습니다
$stmt->close();
$mysqli->close();
?>
데이터베이스에 연결하십시오 : 여기서 호스트 이름은 요구 사항을 충족하는 M66.net 으로 작성됩니다.
준비 설명 : $ mysqli-> 준비를 통해 간단한 전처리 문을 만듭니다.
속성 감지 : 탐지 해야하는 속성을 배열에 넣고 Attr_get을 통해 속성 값을 가져옵니다.
판단 결과 : 거짓이 반환되면 속성이 지원되지 않음을 의미합니다. 그렇지 않으면 현재 속성 값이 표시됩니다.
mysqli_stmt :: attr_get을 사용하기 전에 진술이 성공적으로 준비되었는지 확인해야합니다.
모든 MySQL 서버 버전 또는 MySQLI 클라이언트 드라이버가 모든 속성을 지원하는 것은 아닙니다.
속성을 설정 해야하는 경우 MySQLI_STMT :: ATT_SET 메소드를 사용하면 먼저 지원 상황을 결정해야합니다.
mysqli_stmt :: attr_get 함수는 전처리 문의 속성 값을 얻을 수있을뿐만 아니라 특정 속성이 지원되는지 여부를 결정하는 데 사용합니다. 이 예를 들어 환경 지원을 쉽게 감지하고 프로그램이 다른 환경에서 실행되도록 할 수 있습니다. 코드의 견고성을 향상시키기 위해 데이터베이스와 상호 작용하는 복잡한 응용 프로그램을 작성할 때이 판단을 추가하는 것이 좋습니다.