-2
votes

Comment insérer plusieurs tableaux dans une seule requête en utilisant php et sql

J'essaie d'insérer plusieurs tableaux provenant de $ _Post, mais même d'essayer des méthodes telles que "tandis que" tandis que "et" foreach () "Je n'ai pas eu de succès. Est la première fois que je fais cela à l'aide de tableaux, donc je suis très perdu.

Mon code est: P>

"INSERT INTO item_box (quantity,product_id) VALUES ("20","30","40","50","2")"


3 commentaires

Et si vous souhaitez insérer plusieurs lignes, placez les instructions d'insertion à l'intérieur de la boucle tandis que


Votre script est grand ouvert à Attaque d'injection SQL Même Si vous évacuez des entrées, ce n'est pas sûr! Utilisez < a href = "http://php.net/manual/fr/mysqli.quickstart.prepared-statifs.php" rel = "nOfollow noreferrer"> préparé des instructions paramétrées dans le mysqli _ ou PDO API


@Riggsfolly Si j'ai essayé de mettre à l'intérieur de la boucle tandis que la "quantité" continue de donner de nombreuses valeurs en même temps dans la requête.


3 Réponses :


1
votes

Vous pouvez utiliser plusieurs tableaux dans une seule requête en utilisant

INSERT INTO a VALUES (1,23),(2,34),(4,33);


INSERT INTO a VALUES (8,26),(6,29);


3 commentaires

Merci de réponse, mais n'est pas clair pour moi comment le faire


Vous pouvez utiliser comme cet insert dans les valeurs item_box (quantité, produit_id) (1,23), (2,34), (4,33);


Ok, mais comment passer le tableau pour être comme si vous montrez? Étant donné que le tableau de quantité est à venir avec (20,30,40), j'ai besoin d'insérer chaque produit_id et de quantité respective.



1
votes

Vous utilisez la fonction implorez pour convertir tout le tableau élément sur string et en utilisant la même chose pour insérer xxx

Donc, cela convertira chaque élément de matrice en un, deux, trois, trois .

la variable Quantité doit avoir une valeur à une seule chiffre .

par exemple: - xxx

vous code xxx

Il le traitera comme < Code> "20"

Disons maintenant s'il y a plus de valeurs dans le même tableau xxx

vous < pré> xxx

alors ce sera "20", "30", "40"

mais vous mettez à jour 2 colonnes et cela fait la requête Comme valeurs ("1", "20", "30", "40") , vous obtiendrez une erreur à cause de cela.

Vous devez trouver quel élément de tableau valeur que vous devez utiliser pour quantité

ou

Je ne suis pas sûr, mais vous recherchez-vous array_sum , alors quand xxx


5 commentaires

Votre script est grand ouvert à Attaque d'injection SQL Même Si vous évacuez des entrées, ce n'est pas sûr! Utilisez < a href = "http://php.net/manual/fr/mysqli.quickstart.prepared-statifs.php" rel = "nOfollow noreferrer"> préparé des instructions paramétrées dans le mysqli _ ou PDO API


c'est faux. chaque itération que vous envoyez la requête MySQL


@Riggsfolly Il ne demande pas l'injection SQL, il demande pourquoi elle ne pas insérer pour chaque itération.


@RAKESHJAKHAR Comment puis-je en faire une valeur à un chiffre et une insertion pour chaque ligne? Lorsque j'insère une seule valeur de tableau est bien, mais quand les valeurs multiples ne fonctionnent pas.


désolé si je manque quelque chose. Je comprends ce que vous avez dit et c'est vrai. Mais je ne sais pas comment le séparer et insérer chaque quantité sur chaque produit_id. comme (produit_id, quantité) valeurs (1,23), (2,34), (4,33);



0
votes

Ce code fonctionne, mais insère les mêmes données que de nombreux réseaux existent. Je ne sais pas comment corriger. XXX


0 commentaires