sql >> Databáze >  >> RDS >> Mysql

vložte pole php do mySql

Jaký datový typ je sloupec "rodina" v MySQL? Jsem si docela jistý, že nemůžete rovnou vložit php pole do MySQL. Pokud je to možné, hádejte, že je to jedna z věcí, které jsem nevěděl, protože jsem nikdy zkusil.

Nejjednodušší způsob, jak toho dosáhnout, je zakódovat pole php do řetězce JSON a při čtení jej dekódovat zpět do pole php.

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

kde sloupec rodiny by měl být varchar nebo textový typ v závislosti na délce rodinného pole.

Robustnějším způsobem, jak toho dosáhnout, je vytvořit samostatnou tabulku pro uložení vašich rodinných dat a použít příkaz MySQL JOIN k získání hodnot spojených s jedním záznamem v tabulce family_info.

zde jsou nějaké informace o připojení

Spojení dvou stolů bez vrácení nechtěného řádku

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



  1. Analýza MS SQL Server pro ty, kteří to vidí poprvé

  2. Funkce JSON_ARRAYAGG() v Oracle

  3. php vložení pole preg_match_all

  4. SQLite unie