PHP에서 Fetch_fields 메소드는 쿼리 결과에서 필드 정보를 추출하는 강력한 도구입니다. 구조화 된 데이터를 JSON 형식으로 내보내려면 JSON_ENCODE를 배열 또는 객체를 JSON 문자열로 변환 할 수있는 매우 편리한 기능입니다.
오늘 우리는 fetch_fields 와 json_encode를 결합하여 구조화 된 데이터를 내보내고 프로세스를 더 잘 이해하는 데 도움이되는 실용적인 예를 사용하는 방법을 소개합니다.
PHP에서는 일반적으로 MySQLI Extension을 사용하여 데이터베이스를 작동합니다. Fetch_fields 메소드 는 필드 이름, 데이터 유형, 최대 길이 등과 같은 쿼리 결과 세트에서 모든 필드의 세부 정보를 얻을 수 있습니다.
<?php
// 데이터베이스에 연결하십시오
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
die('연결이 실패했습니다: ' . $mysqli->connect_error);
}
// 쿼리를 실행하십시오
$result = $mysqli->query("SELECT * FROM your_table");
// 현장 정보를 얻으십시오
$fields = $result->fetch_fields();
// 필드 정보를 배열로 저장하십시오
$fields_info = array();
foreach ($fields as $field) {
$fields_info[] = array(
'name' => $field->name,
'type' => $field->type,
'max_length' => $field->length,
);
}
// 배열을 변환하십시오 JSON 체재
$json_output = json_encode($fields_info, JSON_PRETTY_PRINT);
// 산출 JSON 데이터
echo $json_output;
// 关闭데이터库连接
$mysqli->close();
?>
이 예에서는 먼저 데이터베이스에 연결하여 쿼리를 실행합니다. 다음으로 Fetch_Fields 메소드를 사용하여 쿼리 결과의 필드 정보를 가져 와서 배열에 저장합니다. 마지막으로 json_encode 함수를 사용하여 배열을 JSON 형식으로 변환하고 출력하십시오.
JSON_ENCODE 함수는 PHP 배열 또는 객체를 JSON 문자열로 변환합니다. 이 예에서 변환 된 JSON 데이터는 다음과 같습니다.
[
{
"name": "id",
"type": 3,
"max_length": 11
},
{
"name": "username",
"type": 253,
"max_length": 255
},
{
"name": "email",
"type": 253,
"max_length": 255
}
]
각 필드의 자세한 정보에는 필드 이름, 데이터 유형 및 최대 길이와 같은 정보가 포함됩니다. 이 정보는 특히 양식을 동적으로 생성하거나 데이터를 확인할 때 데이터베이스 구조를 더 잘 이해하는 데 도움이됩니다.
이러한 방식으로 데이터베이스 구조에 따라 API 응답을 동적으로 생성 할 수 있습니다. 이는 데이터 중심 애플리케이션, 특히 데이터베이스 필드를 기반으로 동적으로 프론트 엔드 인터페이스를 구축 할 때 매우 유용합니다. 다른 테이블을 기반으로 JSON 응답을 동적으로 생성하고 싶다고 가정 해 봅시다.
<?php
// 테이블 이름을 얻으십시오
$table_name = 'users'; // 예를 들어 'users' 표면
// 쿼리를 실행하십시오
$result = $mysqli->query("SELECT * FROM $table_name LIMIT 1");
// 현장 정보를 얻으십시오
$fields = $result->fetch_fields();
// 현장 정보를 저장하십시오
$fields_info = array();
foreach ($fields as $field) {
$fields_info[] = array(
'name' => $field->name,
'type' => $field->type,
'max_length' => $field->length,
);
}
// 반품 JSON 응답
header('Content-Type: application/json');
echo json_encode($fields_info, JSON_PRETTY_PRINT);
// 关闭데이터库连接
$mysqli->close();
?>
현재 API는 프론트 엔드 개발자에게 매우 유용한 테이블 구조에 대한 정보에 동적으로 응답 할 수 있습니다. 이는 특히 양식을 동적으로 구축해야 할 때 필드 유형에 따라 입력 제어 유형 (예 : 텍스트 상자, 드롭 다운 상자 등)을 결정할 수 있습니다.
JSON 데이터를 내보낼 때 URL을 사용해야한다고 가정합니다. 코드 예제에서 일관성을 유지하기 위해 URL의 도메인 이름을 m66.net 으로 직접 교체하고 코드가 명확하고 이해하기 쉬운 지 확인합니다. 예를 들어:
<?php
$data = array(
'api_url' => 'https://m66.net/api/endpoint',
'web_url' => 'https://m66.net/dashboard'
);
// 변환 JSON 체재
echo json_encode($data, JSON_PRETTY_PRINT);
?>
출력은 다음과 같습니다.
{
"api_url": "https://m66.net/api/endpoint",
"web_url": "https://m66.net/dashboard"
}
이 방법은 도메인 이름의 일관성을 보장하고 후속 관리 및 디버깅을 용이하게 할 수 있습니다.
fetch_fields 와 json_encode를 결합하여 데이터베이스 테이블의 구조를 구조화 된 JSON 데이터로 쉽게 내 보낼 수 있습니다. 이는 자동화 된 문서 생성, 동적 형태 생성 또는 프론트 엔드 시스템과의 상호 작용에 유용합니다. 이 기술을 마스터하면 개발 중에 데이터베이스와의 상호 작용의 효율성을 크게 향상시킬 수 있습니다.
이 예제는이 두 가지 기능을 사용하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.
관련 태그:
fetch_fields json_encode