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

indsæt php-array i mySql

Hvilken datatype er "familie"-kolonnen i MySQL? Jeg er ret sikker på, at du ikke ligefrem kan indsætte sådanne php-arrays i MySQL. Hvis det er muligt, gætter jeg på, at det er en af ​​de ting, jeg ikke vidste, fordi jeg aldrig engang prøvet.

Den nemmeste måde at gøre dette på er at kode dit php-array ind i en JSON-streng og afkode det tilbage til et php-array, når du læser det.

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

hvor familiekolonnen skal være en varchar- eller teksttype afhængigt af hvor lang familiearrayet bliver.

En mere robust måde at gøre dette på er at oprette en separat tabel til at gemme dine familiedata og bruge en MySQL JOIN-sætning til at få de værdier, der er knyttet til én post i family_info-tabellen.

her er lidt info om joins

Samling af to tabeller uden at returnere uønsket række

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



  1. Hvordan får man PostgreSQL trigger og C# Windows Service til at fungere sammen?

  2. SQL:Vælg Top 3 Records + Sum of Quantity

  3. Er der en måde at hente visningsdefinitionen fra en SQL Server ved hjælp af almindelig ADO?

  4. Annoncering af ClusterControl 1.7.5:Avanceret klyngevedligeholdelse og support til PostgreSQL 12 og MongoDB 4.2