Du kan ikke indsætte et array direkte i MySQL som MySQL forstår ikke PHP datatyper. MySQL forstår kun SQL . Så for at indsætte et array i en MySQL-database, skal du konvertere det til en SQL-sætning. Dette kan gøres manuelt eller af et bibliotek. Outputtet skal være en INSERT
erklæring.
Opdatering til PHP7
Siden PHP 5.5 mysql_real_escape_string
er blevet forældet, og fra og med PHP7 er det blevet fjernet . Se:php.nets dokumentation om den nye procedure.
Oprindeligt svar:
Her er en standard MySQL-indsættelseserklæring.
INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..)
Hvis du har en tabel med navnet fbdata
med de kolonner, der er præsenteret i nøglerne til dit array du kan indsætte med dette lille uddrag. Her er, hvordan dit array konverteres til denne sætning.
$columns = implode(", ",array_keys($insData));
$escaped_values = array_map('mysql_real_escape_string', array_values($insData));
$values = implode(", ", $escaped_values);
$sql = "INSERT INTO `fbdata`($columns) VALUES ($values)";