Page 1 sur 1

insertion de deux array dans la base de donnée

Posté : 10 avr. 2010, 17:23
par leader
bonjour
j'ai fait une requéte pour pouvoir enregistrer deux array dans la base de donné d'un seul coup mais le problème que j'ai il ne mit dans la table que la première valeur des deux array
voila la requête
$array_temp = array_keys($tableau_mots_occurences);
mysql_query("INSERT INTO mot_doc VALUES ('',('".implode(',', array_map('intval', $array_temp))."'),'$doc','$emplacement',('".implode(',', array_map('intval', $tableau_mots_occurences))."'))")
comment faire pour pouvoir enregistrer le contenu des array?
s'il vous plais
merci

Re: insertion de deux array dans la base de donnée

Posté : 10 avr. 2010, 18:17
par stealth35
avec serialize :wink: , tu devras faire un coup de unserialize apres

Re: insertion de deux array dans la base de donnée

Posté : 10 avr. 2010, 18:23
par leader
je veux que chaque case de array s'enregistre dans un ligne

Re: insertion de deux array dans la base de donnée

Posté : 10 avr. 2010, 18:49
par stealth35
avec un séparateur ?

Re: insertion de deux array dans la base de donnée

Posté : 12 avr. 2010, 16:24
par zeus
Il y a un très gros problème de conception de ton code.
Tu utilises array_map pour parcourir tes tableaux, jusque là, pourquoi pas. Mais tu cette méthode ne peut pas lancer X fois une requête SQL.

Pour cela, il n'y a guère que 2 solutions :
1/ construire une requête qui insère autant que ligne que nécessaire
2/ exécuter autant de requêtes que de lignes à insérer.

Toi, tu fais un gros amalgame entre le PHP est le SQL.
Essaye de reprendre ton code de 0, en prenant en compte ce que je viens de te donner.

Re: insertion de deux array dans la base de donnée

Posté : 12 avr. 2010, 16:41
par Berzemus
Et juste une petite parenthèse: il est bien plus rapide d'exécuter une grosse requête (voir plusieurs en une fois, en oubliant pas de marquer la séparation entre les requêtes avec le point-virgule) qu'un grand nombre de petites requêtes.

Ceci dit, j'utiliserais les requêtes préparées quand il s'agit d'itérer sur un tableau et d'en insérer le contenu dans une DB.