mysqli_result 함수를 사용하여 데이터베이스 쿼리 결과의 구조 정보를 인쇄하는 방법은 무엇입니까?
PHP 프로그래밍에서 MySQL 데이터베이스 사용은 일반적인 작업입니다. 데이터베이스에서 데이터를 가져 오려면 MySQLI 확장자가 일반적으로 사용됩니다. 데이터베이스 쿼리를 수행 할 때는 데이터의 필드, 유형 등을 이해하기 위해 쿼리 결과의 구조 정보를보아야합니다.
mysqli_result 함수는이 정보를 얻는 데 도움이 될 수 있습니다. mysqli_query () 함수와 함께 사용되며 쿼리 결과가 포함 된 객체를 반환합니다. 이 객체를 통해 일부 방법을 사용하여 데이터베이스의 쿼리 결과를보고 조작 할 수 있습니다.
데이터베이스 쿼리 결과의 구조 정보를 인쇄하려면 사용할 수있는 두 가지 주요 기능이 있습니다.
mysqli_fetch_fields () : 쿼리 결과에서 모든 필드의 메타 데이터를 가져옵니다.
mysqli_fetch_field () : 쿼리 결과에서 필드의 메타 데이터를 가져옵니다.
<?php
// 데이터베이스 연결을 구성하십시오
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);
// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
die("연결이 실패했습니다: " . $conn->connect_error);
}
// 쿼리를 실행하십시오
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
// 쿼리가 성공했는지 확인하십시오
if ($result) {
// 쿼리 결과의 구조 정보를 인쇄하십시오
echo "쿼리 결과의 구조 정보:<br>";
$fields = $result->fetch_fields();
// 출력 필드 정보
foreach ($fields as $field) {
echo "필드 이름: " . $field->name . "<br>";
echo "필드 유형: " . $field->type . "<br>";
echo "최대 길이: " . $field->length . "<br>";
echo "허용되는지 여부 NULL: " . ($field->nullable ? '예' : '아니요') . "<br><br>";
}
} else {
echo "쿼리가 실패했습니다: " . $conn->error;
}
// 연결을 닫으십시오
$conn->close();
?>
데이터베이스 연결 : 먼저 새로운 MySQLI ()를 통해 MySQL 데이터베이스에 연결됩니다.
쿼리 실행 : $ conn-> query ($ sql) 를 통해 SQL 쿼리를 실행하고 쿼리 결과를 반환하십시오.
필드 정보 가져 오기 : $ result-> fetch_fields () 모든 필드 메타 데이터가 포함 된 배열을 반환합니다. 각 필드 메타 데이터는 객체이며, 필드-> 이름 , $ Field-> 유형 등과 같은 속성을 통해 필드의 자세한 정보를 얻을 수 있습니다.
인쇄 정보 : Echo를 사용하여 이름, 유형, 최대 길이 및 빈 허용 여부와 같은 정보를 출력하십시오.
위의 코드에서, fetch_fields () 메소드에 의해 반환 된 각 필드 객체는 일반적으로 사용되는 속성을 포함합니다.
이름 : 필드 이름.
표 : 필드가 속한 테이블 이름.
Max_length : 필드의 최대 길이.
유형 : 필드의 데이터 유형 (예 : 정수, 문자열, 날짜 등).
길이 : 필드의 길이.
귀중한 : 필드가 널이 될 수 있는지 여부.
Primary_key : 필드가 기본 키인지 여부.
이러한 속성을 사용하면 개발자가 데이터베이스의 테이블 구조에 대한 통찰력을 얻고 개발 중에 디버깅 및 최적화를 용이하게 할 수 있습니다.
쿼리 사용자 테이블에 다음 구조가 있다고 가정합니다.
ID | 이름 | 이메일 |
---|---|---|
1 | 남자 | john@m66.net |
2 | 앨리스 | alice@m66.net |
3 | 단발 | bob@m66.net |
출력은 다음과 유사 할 수 있습니다.
쿼리 결과의 구조 정보:
필드 이름: id
필드 유형: 3
최대 길이: 11
허용되는지 여부 NULL: 아니요
필드 이름: name
필드 유형: 253
최대 길이: 50
허용되는지 여부 NULL: 아니요
필드 이름: email
필드 유형: 253
최대 길이: 100
허용되는지 여부 NULL: 아니요
fetch_fields () 메소드 외에도 mysqli_result 객체는 추가 프로세스 쿼리 결과를 도울 수있는 다른 일반적인 방법을 제공합니다.
NUM_FIELDS () : 쿼리 결과에서 필드 수를 반환합니다.
fetch_assoc () : 배열을 연관하는 방식으로 쿼리 결과를 연속으로 반환합니다.
fetch_row () : 쿼리 결과를 숫자 인덱스 형식으로 연마합니다.
fetch_object () : 쿼리 행을 반환하면 객체가 꺼집니다.
이러한 방법은 귀하의 요구에 따라 쿼리 결과를보다 유연하게 처리하는 데 도움이 될 수 있습니다.
MySQLI_RESULT 기능 및 관련 방법을 통해 데이터베이스 쿼리 결과의 구조 정보를 쉽게 얻고 인쇄 할 수 있습니다. 이는 개발 및 디버깅, 데이터베이스 테이블 구조 및 기타 작업 분석에 매우 유용합니다. MySQLI 확장자를 사용할 때 쿼리 결과의 구조 정보를 얻는 방법을 마스터하면 데이터를보다 효율적으로 처리 할 수 있습니다.