MySQL 8.0의 SQL 쿼리 JSON에서 반환되는 데이터 유형은 배열이 아닌 문자열입니다.
P粉099985373
P粉099985373 2023-08-28 19:46:01
0
1
605
<p>저는 MySQL 8.0에서 아래와 같이 테이블을 만들었습니다.</p> <pre class="brush:php;toolbar:false;">CREATE TABLE `airline_table`( `id` int unsigned NOT NULL AUTO_INCREMENT, `info` json 기본 NULL, 기본 키(`id`) ) 엔진=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;</pre> <p>JSON 형식의 데이터가 포함되어 있는데, 다음과 같이 일부 데이터를 삽입했습니다.</p> <pre class="brush:php;toolbar:false;">Airline_table VALUES ('1','{"data": [{"city": "Houston", "state": "TX"}, {"도시": "로스앤젤레스", "주": "CA"}], "항공사": ["UA", "AA"]}');</pre> <p>저는 PHP를 사용하여 데이터베이스에 액세스하고 "항공사" 값을 배열로 가져오고 싶습니다. </p> <pre class="brush:php;toolbar:false;"><?php $mysqli = new mysqli("localhost", "root", "aproot2019", "test"); $sql = "SELECT id, info -> '$.airline' AS 항공사 FROMAirline_table" $result = $mysqli->query($sql); $row = $result->fetch_array(); //print_r($row); $airline = $row['항공사']; echo $airline . "
" // ["UA", "AA"] , 이것은 배열이 아닌 문자열입니다. 어떻게 배열을 얻을 수 있나요? echo is_array($airline) ? 'Array' : '배열이 아닙니다' . // 배열이 아닙니다. echo is_string($airline) ? 'String' : '문자열이 아님' . $mysqli->close(); ?></pre> <p>하지만 배열이 아닌 문자열을 출력합니다! 이것은 정말 짜증나는 일입니다. MySQL의 JSON은 이해하기 어렵습니다. </p>
P粉099985373
P粉099985373

모든 응답(1)
P粉253518620

JSON 디코딩을 고려해 보셨나요?

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!