U kunt een array niet rechtstreeks invoegen in MySQL als MySQL begrijpt PHP niet gegevenstypen. MySQL begrijpt alleen SQL . Dus om een array in een MySQL-database in te voegen, moet u deze converteren naar een SQL-statement. Dit kan handmatig of door een bibliotheek worden gedaan. De uitvoer moet een INSERT
. zijn verklaring.
Update voor PHP7
Sinds PHP 5.5 mysql_real_escape_string
is verouderd en vanaf PHP7 is het verwijderd . Zie:php.net's documentatie over de nieuwe procedure.
Oorspronkelijke antwoord:
Hier is een standaard MySQL-invoegopdracht.
INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..)
Als je een tabel hebt met de naam fbdata
met de kolommen die worden weergegeven in de sleutels van uw array u kunt invoegen met dit kleine fragment. Hier ziet u hoe uw array wordt geconverteerd naar deze instructie.
$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)";