sql >> Base de Datos >  >> RDS >> Mysql

inserte la matriz php en mySql

¿Qué tipo de datos es la columna "familia" en MySQL? Estoy bastante seguro de que no puede insertar arreglos php como esos en MySQL. Si es posible, supongo que es una de esas cosas que no sabía porque nunca intentado.

La forma más fácil de hacer esto es codificar su matriz php en una cadena JSON y decodificarla nuevamente en una matriz php cuando la lea.

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

donde la columna de la familia debe ser un tipo de texto o varchar dependiendo de la longitud de la matriz de la familia.

Una forma más robusta de hacer esto es crear una tabla separada para almacenar los datos de su familia y usar una instrucción JOIN de MySQL para obtener los valores asociados a una entrada en la tabla family_info.

aquí hay información sobre las uniones

Unir dos tablas sin devolver una fila no deseada

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