웹 개발 과정에서 구조화 된 데이터를 JSON 형식으로 저장하고 데이터베이스에 작성해야합니다. MySQL은 버전 5.7 이후 기본적으로 JSON 유형을 지원하므로 PHP를 사용할 때 JSON 형식 데이터를보다 효율적으로 저장하고 관리 할 수 있습니다.
먼저 JSON 필드가 포함 된 데이터 테이블을 작성해야합니다. 다음은 간단한 데이터 테이블 구조입니다.
테이블 작성`json_data_table` ( `id` int (11) NOT NULL AUTO_INCREMENT, `json_data` json은 null, 기본 키 (`ID ') );
여기서 우리는 MySQL의 JSON 데이터 유형을 사용하여 저장된 데이터 구조가 합법적 인 JSON 형식인지 자동으로 확인할 수 있습니다.
PHP의 MySQLI 확장을 통해 데이터베이스 연결을 쉽게 구현할 수 있습니다.
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "test";
$conn = new mysqli($host, $user, $password, $database);
if ($conn-> connect_error) {
다이 ( "연결 실패 :". $ conn-> connect_error);
}
?>
다음으로 PHP의 배열을 JSON 문자열로 변환하여 데이터베이스에 씁니다.
<?php
$data = array(
'name' => '남자',
'Age'=> 25
);
$ jsondata = json_encode ($ data);
$ sql = "json_data_table (json_data) 값 ( '$ jsondata')에 삽입합니다.";
if ($ conn-> query ($ sql) === true) {
Echo "JSON 데이터가 성공적으로 추가되었습니다";
} 또 다른 {
에코 "오류 :". $ SQL. "<br> ". $ conn-> 오류;
}
$ conn-> close ();
?>
참고 : JSON 데이터를 SQL 문에 직접 스 플라이싱하면 SQL 주입 위험이 발생할 수 있으며 삽입을 위해 전처리 문을 사용하는 것이 좋습니다.
데이터베이스에서 이전에 저장된 JSON 데이터를 읽고 PHP 배열로 변환 해야하는 경우 :
<?php
$sql = "SELECT json_data FROM json_data_table WHERE id = 1";
$result = $conn->쿼리 ($ SQL);
if ($ result-> num_rows> 0) {
while ($ row = $ result-> fetch_assoc ()) {
$ jsondata = $ row [ 'json_data'];
$ data = json_decode ($ jsondata, true);
에코 "이름 :". $ data [ 'name']. "<br> ";
에코 "나이 :". $ data [ 'Age']. "<br> ";
}
} 또 다른 {
에코 "데이터 없음";
}
$ conn-> close ();
?>
json_decode 함수를 사용하고 두 번째 매개 변수를 true 로 전달하면 JSON 문자열을 연관 배열로 구문 분석 할 수 있습니다.
이 기사에서는 PHP를 사용하여 MySQL과 협력하여 JSON 형식의 데이터를 저장하고 읽는 방법에 대해 설명합니다. 테이블 구조 설계, 데이터베이스 연결, JSON 데이터 삽입 및 구문 분석에 이르기까지 완전한 구현 프로세스가 시연됩니다. 실제 프로젝트에서는 JSON 필드와 MySQL 쿼리 기능을 결합하면 데이터 운영의 유연성과 효율성을 크게 향상시킬 수 있습니다.