Der vom SQL-Abfrage-JSON von MySQL 8.0 zurückgegebene Datentyp ist String statt Array
P粉099985373
P粉099985373 2023-08-28 19:46:01
0
1
569
<p>Ich habe in MySQL 8.0 eine Tabelle wie unten gezeigt erstellt: </p> <pre class="brush:php;toolbar:false;">CREATE TABLE `airline_table` ( `id` int unsigned NOT NULL AUTO_INCREMENT, „info“ json DEFAULT NULL, PRIMÄRSCHLÜSSEL („id“) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;</pre> <p>Es enthält Daten vom Typ JSON. Ich habe einige Daten wie folgt eingefügt: </p> <pre class="brush:php;toolbar:false;">INSERT INTO Airline_table VALUES ('1','{"data": [{"city": "Houston", "state": „TX“}, {"Stadt": "Los Angeles", "Bundesstaat": "CA"}], "Fluggesellschaft": "UA", "AA"]}');</pre> <p>Ich verwende PHP, um auf die Datenbank zuzugreifen und hoffe, den Wert von „airline“ als Array zu erhalten. </p> <pre class="brush:php;toolbar:false;"><?php $mysqli = new mysqli("localhost", "root", "aproot2019", "test"); $sql = "SELECT id, info -> '$.airline' AS Airline FROM Airline_table"; $result = $mysqli->query($sql); $row = $result->fetch_array(); //print_r($row); $airline = $row['airline']; echo $airline . "<br>" // ["UA", "AA"] , das ist ein String statt eines Arrays, wie kann ich ein Array erhalten? echo is_array($airline) ? 'Array' : 'kein Array' "<br>"; echo is_string($airline) ? 'String' : 'kein String' $mysqli->close(); ?></pre> <p>Aber es wird ein String ausgegeben, kein Array! Das ist wirklich ärgerlich, JSON in MySQL ist schwer zu verstehen. </p>
P粉099985373
P粉099985373

Antworte allen(1)
P粉253518620

您是否考虑过解码JSON?

$json = json_decode('{"data": [{"city": "Houston", "state": "TX"}, {"city": "Los Angles", "state": "CA"}], "airline": ["UA", "AA"]}');

// 对于您的情况,将是:
// $json = json_decode($row['airline']);
echo var_dump($json->airline);
/**
 * array(2) {
  [0]=>
  string(2) "UA"
  [1]=>
  string(2) "AA"
}

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!