Hallo,
ich möchte mehrere Array in die Datenbank schreiben
[1] => ('1', '703', '1223569', '35310500700100933 ')
[2] => ('2', '703', '1223570', '35310500700100940 ')
[3] => ('3', '703', '1223571', '35310500700101053 ')
[4] => ('4', '703', '1223572', '35310500700101060 ')
usw.
der normale PHP Befehl leutet eigentlich so:
$db->query("INSERT INTO `{$tabelle}` (`uid`, `model`, `pcb`, `seriennummer`) VALUES {$values}");
jetzt meine Frage?
wie setz ich das mit Typo3 um - also mit $res=$GLOBALS['TYPO3_DB']->exec_INSERTquery('db_tabelle',$value_array,$no_quote_fields=FALS);
vielleicht kann mir einer helfen
danke
Hallo,
das ist ja quasi ein mehrdimensionales Array? dann die Einträge einzeln durchgehen und einfügen:
//wenn des array in der Variable $values steht
foreach ($values as $value_array)
{
//$value_array ist selbst ein Array
$res=$GLOBALS['TYPO3_DB']->exec_INSERTquery('db_tabelle',$value_array,$no_quote_fields=FALSE);
}
- oder steht des ('1', '703', '1223569', '35310500700100933 ') als String in dem array?
Dann gibt's zwei möglichkeiten:
1) das array so erzeugen, dass da arrays drinn stehen (dann obigen Code verwenden)
2) beim dem String '(' und ')' abschneiden, dann mit explode() ein Array draus machen
$string = str_replace('(',"",$string);
$string = str_replace(')',"",$string);
$value_array = explode(',',$string);
- oder hab ich die Frage vollkommen falsch verstanden?
Gruß,
vince.
hallo vince - ich habs jetzt auch so gelöst wie du in deinem ersten Beispiel nur schreibt er dann für jedes Array einzeln in die Datenbank was natürlich einiges an Performance kostet.
siehe hier:
http://www.phpbuddy.eu/csv-datei-mysql-importieren.html
ich würde es gerne so machen wie in Lösung Zwei