Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

inserir array php no mySql


Que tipo de dados é a coluna "família" no MySQL? Tenho certeza que você não pode inserir arrays php assim no MySQL. Se for possível, acho que é uma daquelas coisas que eu não sabia porque nunca tentou.

A maneira mais fácil de fazer isso é codificar seu array php em uma string JSON e decodificá-lo de volta em um array php ao lê-lo.
$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']);

onde a coluna da família deve ser um tipo varchar ou texto, dependendo de quanto tempo a matriz da família fica.

Uma maneira mais robusta de fazer isso é criar uma tabela separada para armazenar os dados de sua família e usar uma instrução JOIN do MySQL para obter os valores associados a uma entrada na tabela family_info.

aqui estão algumas informações sobre junções

Juntar duas tabelas sem retornar linha indesejada

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