웹 개발 과정에서 구조화 된 데이터를 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 쿼리 기능을 결합하면 데이터 운영의 유연성과 효율성을 크게 향상시킬 수 있습니다.