Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Array mit PHP in die MySQL-Datenbank einfügen

Sie können ein Array nicht direkt in MySQL einfügen als MySQL versteht PHP nicht Datentypen. MySQL versteht nur SQL . Um also ein Array in eine MySQL-Datenbank einzufügen, müssen Sie es in eine SQL-Anweisung konvertieren. Dies kann manuell oder durch eine Bibliothek erfolgen. Die Ausgabe sollte ein INSERT sein Aussage.

Update für PHP7

Seit PHP 5.5 mysql_real_escape_string ist veraltet und wurde ab PHP7 entfernt . Siehe:php.nets Dokumentation zum neuen Verfahren.

Ursprüngliche Antwort:

Hier ist eine standardmäßige MySQL-Einfügeanweisung.

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

Wenn Sie eine Tabelle mit dem Namen fbdata haben mit den Spalten, die in den Schlüsseln Ihres Arrays dargestellt werden Sie können mit diesem kleinen Schnipsel einfügen. So wird Ihr Array in diese Anweisung konvertiert.

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