Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-Array in mySql einfügen

Welcher Datentyp ist die "Familie"-Spalte in MySQL? Ich bin mir ziemlich sicher, dass Sie solche PHP-Arrays nicht direkt in MySQL einfügen können versucht.

Der einfachste Weg, dies zu tun, besteht darin, Ihr PHP-Array in einen JSON-String zu codieren und es beim Lesen wieder in ein PHP-Array zu decodieren.

$family = array();
...
$familyJsonString = json_encode($family);
...
$insertInfo = "INSERT INTO `family_info`.`info` 
            (`name`, `info`, `family`)
            VALUES (
            '$name', '$info', '$familyJsonString');";
...
$queryString = "SELECT * FROM family_info WHERE name = '$someName'";
$query = mysql_query($queryString, $connection);
$familyData = mysql_fetch_assoc($query);
$decodedFamilyArray = json_decode($familyData['family']);

wobei die Familienspalte ein Varchar- oder Texttyp sein sollte, je nachdem, wie lang das Familienarray wird.

Ein robusterer Weg, dies zu tun, besteht darin, eine separate Tabelle zum Speichern Ihrer Familiendaten zu erstellen und eine MySQL-JOIN-Anweisung zu verwenden, um die Werte zu erhalten, die einem Eintrag in der Tabelle family_info zugeordnet sind.

Hier sind einige Informationen zu Joins

Zwei Tabellen verbinden, ohne unerwünschte Zeilen zurückzugeben

http://dev.mysql.com/doc/refman/5.0 /en/join.html