Mysql
 sql >> Database >  >> RDS >> Mysql

inserisci l'array php in mySql

Che tipo di dati è la colonna "famiglia" in MySQL? Sono abbastanza sicuro che non puoi inserire direttamente array php come quello in MySQL. Se è possibile, immagino che sia una di quelle cose che non sapevo perché non ho mai nemmeno provato.

Il modo più semplice per farlo è codificare il tuo array php in una stringa JSON e decodificarlo nuovamente in un array php quando lo leggi.

$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']);

dove la colonna della famiglia dovrebbe essere un tipo varchar o testo a seconda della lunghezza dell'array della famiglia.

Un modo più efficace per farlo è creare una tabella separata per memorizzare i dati della tua famiglia e utilizzare un'istruzione MySQL JOIN per ottenere i valori associati a una voce nella tabella family_info.

ecco alcune informazioni sui join

Unire due tabelle senza restituire una riga indesiderata

http://dev.mysql.com/doc/refman/5.0 /it/unisciti.html