3 Pluspunkte 0 Minuspunkte

Ich habe diesen Code

$conn = new mysqli("localhost", "root", "", "test");

$arr = array("a" => 1, "b" => 2, "c" => 3);
$json_data = json_encode($arr);

$sql = "INSERT INTO test (data) VALUES(?)";

$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $json_data);
$stmt->execute();
$stmt->close();

$sql_select = "SELECT data FROM test";
$result = $conn->query($sql_select);

while ($row = $result->fetch_assoc()) {
        
    // $row['data'] ist ein JSON und kein Array
    print_r($row['data']);
    
}

$conn->close();

Wie kann ich das JSON in ein Array umwandeln?

bezieht sich auf eine Antwort auf: Array in SQL Datenbank speichern
von  

1 Antwort

2 Pluspunkte 0 Minuspunkte

Das kannst du mit der Funktion json_decode().

$sql_select = "SELECT data FROM test";
$result = $conn->query($sql_select);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        
        // JSON in ein Array umwandeln
        $data_from_db = json_decode($row['data'], true);

        echo "<pre>";
        print_r($data_from_db);
        echo "</pre>";
    }
}

$conn->close();
von (532 Punkte)