mysqli_stmt :: attr_get은 php에서 전처리 문 ( mysqli_stmt 객체)의 속성 값을 얻는 메소드입니다. 데이터베이스 프로그래밍에서 SQL 명령문 동작을 디버깅하고 동적으로 조정하는 데 매우 도움이되지만 MySQL 버전과 PHP 확장 버전의 차이로 인해이 기능의 성능에 약간의 차이가 있으므로 사용할 때 특별한주의를 기울여야합니다.
mysqli_stmt :: attr_get은 지정된 속성의 값을 얻는 데 사용됩니다. 구문은 다음과 같습니다.
$value = $stmt->attr_get($attr);
여기서 $ stmt 는 준비된 mysqli_stmt 객체이고 $ attr는 다음과 같이 쿼리하려는 속성 상수입니다.
mysqli_stmt_attr_update_max_length
mysqli_stmt_attr_cursor_type
mysqli_stmt_attr_prefetch_rows
이 함수는 속성의 현재 값을 반환합니다.
MySQL 5.1 이하 <br> 이 함수는 제한된 속성을 지원하며 일부 속성 리턴 값은 불안정하며 거짓 도 리턴됩니다. 예를 들어, mysqli_stmt_attr_prefetch_rows는 더 낮은 버전에서는 작동하지 않을 수 있습니다.
MySQL 버전 5.5-5.7 <br> 이 기능은 더 많은 속성을 지원하고보다 정확한 결과를 반환하지만 Cursor 관련 속성 ( mysqli_stmt_attr_cursor_type )을 사용할 때 여전히 호환성 문제가 있으며 경우에 따라 커서가 예상대로 작동하지 않습니다.
MySQL 8.0 이상 <br> 기능 성능은 가장 안정적이고 대부분의 속성을 지원하며 MySQL 기본 지원의 개선과 결합, 커서 유형 및 프리 페치 행 카운트 속성의 동작이 더욱 제어 가능하고 일관성이 있습니다.
PHP 버전이 MySQL 드라이버 <br>와 호환되는지 확인하십시오 . 다른 PHP 버전에서 MySQLI 확장에 의한 Att_get에 대한 지원도 다릅니다. 최적의 호환성을 보장하기 위해 PHP 7.4 이상을 사용하는 것이 좋습니다.
속성 값 점검은 엄격해야합니다 <br> 다른 버전은 다른 유형의 결과를 반환 할 수 있으므로 오용을 피하고 프로그램 예외를 유발하지 않기 전에 사용하기 전에 반환 값의 유형 및 유효성 감지를 수행하는 것이 좋습니다.
지원되지 않는 속성을 호출하지 마십시오 <br> 지원되지 않는 속성을 호출하면 False가 반환됩니다. mysqli_stmt :: attr_set 의 지원을 기반으로 논리를 합리적으로 설계하십시오.
디버깅 및 로깅 <br> 복잡한 응용 분야에서는 Attr_get을 사용하여 다른 환경에서 행동 차이를 확인하기 위해 속성을 얻기 위해 로그를 기록해야합니다.
다음은 mysqli_stmt :: attr_get을 사용하고 URL 도메인 이름 M66.net을 교체하는 방법에 대한 간단한 데모입니다.