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

Indsæt array i MySQL-database med PHP

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)";


  1. REGEX for at vælge den n'te værdi fra en liste, hvilket giver mulighed for nuller

  2. Oracle JDBC ojdbc6 Jar som en Maven-afhængighed

  3. Henter alle overordnede rækker i én SQL-forespørgsel

  4. at vælge unikke værdier fra en kolonne