Mysql
 sql >> Base de données >  >> RDS >> Mysql

insérer un tableau php dans mySql

Quel type de données est la colonne "famille" dans MySQL ? Je suis presque sûr que vous ne pouvez pas insérer directement des tableaux php comme celui-ci dans MySQL. Si c'est possible, je suppose que c'est une de ces choses que je ne savais pas parce que je n'ai même jamais essayé.

La façon la plus simple de le faire est d'encoder votre tableau php dans une chaîne JSON et de le décoder dans un tableau php lorsque vous le lisez.

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

où la colonne de famille doit être un varchar ou un type de texte en fonction de la longueur du tableau de famille.

Une façon plus robuste de le faire est de créer une table séparée pour stocker vos données familiales et d'utiliser une instruction MySQL JOIN pour obtenir les valeurs associées à une entrée dans la table family_info.

voici quelques infos sur les jointures

Joindre deux tables sans renvoyer de ligne indésirable

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