sql >> Databasteknik >  >> RDS >> Mysql

Infoga array i MySQL-databas med PHP

Du kan inte infoga en array direkt i MySQL som MySQL förstår inte PHP datatyper. MySQL förstår bara SQL . Så för att infoga en array i en MySQL-databas måste du konvertera den till en SQL-sats. Detta kan göras manuellt eller av ett bibliotek. Utdata ska vara en INSERT uttalande.

Uppdatering för PHP7

Sedan PHP 5.5 mysql_real_escape_string har fasats ut och från och med PHP7 har den borttagits . Se:php.nets dokumentation om den nya proceduren.

Ursprungligt svar:

Här är en vanlig MySQL-insättningssats.

INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..)

Om du har en tabell med namnet fbdata med kolumnerna som presenteras i nycklarna till din array du kan infoga med detta lilla utdrag. Så här konverteras din array till denna sats.

$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. Välj kolumner från resultatuppsättningen av lagrad procedur

  2. Summa med SQL-server RollUP - men bara sista sammanfattningen?

  3. Introduktion till auto_explain:Hur man loggar långsamma Postgres-frågeplaner automatiskt

  4. T-SQL tisdag #65:Lär ut något nytt