4 Pluspunkte 0 Minuspunkte

Wie kann ich ein Array in einer Datenbank speichern? Ich habe dieses Skript

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

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

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

$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->close();

$conn->close();

Aber in der Datenbank steht danach nur "Array".

von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

Eine Möglichkeit ist die Verwendung von JSON, um das Array in einen Zeichenkettenformat umzuwandeln, das später wieder in ein Array zurückgeführt werden kann.

$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();

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