[Réglé] Comment insérer des données dans une table via un fichier migration

Aide aux auteurs d'extensions pour phpBB

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Répondre
Auteur
CloudStrife
Posteur néophyte
Posteur néophyte
Messages : 2
Enregistré le : 15 août 2021 à 18:14

Comment insérer des données dans une table via un fichier migration

Message par CloudStrife »

Bonjour a tous,
voila plusieurs années que j'avais arrêter le dev et je m'y remets petit a petit. :)

Je vous explique mon problème, donc je souhaiterais remplir la base de données avec des infos d'un tableau et la clairement je bloque. je vous partage la parti du code

Code : Tout sélectionner

if ($this->db_tools->sql_table_exists($this->table_prefix . 'regions'))
        {
            $sql_arr= [
                [
                    'regions_name'		=> 'Auvergne-Rhône-Alpes',
		    'regions_image'	        => 'Auvergne_Rhone_Alpes.gif',
                ],
            ];
            foreach ($sql_arr as $value)
            {
                $sql = 'INSERT INTO ' . $this->table_prefix . 'regions' . ' ' . $db->sql_build_array('INSERT', $value);
                $db->sql_query($sql);
            }
        }
je vous épargne toutes les ligne de $sql_arr :)
mais cela ne me rempli pas la base de données ...
si quelqu'un pourrait m'expliquer ce serait vraiment sympa ;)
Modifié en dernier par CloudStrife le 15 août 2021 à 20:41, modifié 4 fois.
Avatar du membre
On Stage
Empereur des posts
Empereur des posts
Messages : 1027
Enregistré le : 19 mars 2018 à 16:04
Localisation : Pays de la Loire
Contact :

Probleme insert into

Message par On Stage »

phpBB version: 3.3.4 | php version: 7.4.23
Quelques traductions d'extensions - GitHub - Arrêter le spam sur phpBB
Avatar du membre
Steph
Administrateur
Administrateur
Messages : 20402
Enregistré le : 29 déc. 2008 à 15:48
Localisation : Alsace / Bas-Rhin / France
Contact :

Merci de modifier le titre du sujet afin qu'il soit plus explicite.

Message par Steph »

Salut,

Pour bon nombre de demandes ici, il s’agit de "problème", il est donc inutile de le préciser dans un titre de sujet. Merci de choisir un titre réellement explicite et en adéquation avec la demande.
Avatar du membre
pierredu
Resp. Extensions
Resp. Extensions
Messages : 1484
Enregistré le : 29 mai 2011 à 06:49
Localisation : Paris
Contact :

Comment insérer des données dans une table via un fichier migration

Message par pierredu »

Dans mon extension de glossaire, j'ai une fonction qui fait ce genre de chose (à la fin du fichier).
Voir https://github.com/pierrdu/lmdi_gloss/b ... ease_1.php

$this->db->sql_multi_insert($this->table_prefix . 'glossary', $sample_data);
Auteur
CloudStrife
Posteur néophyte
Posteur néophyte
Messages : 2
Enregistré le : 15 août 2021 à 18:14

Comment insérer des données dans une table via un fichier migration

Message par CloudStrife »

merci pour ton aide avec le multi insert cela m'évite le foreach.
le soucis venait que j'avais mis une function update_schema plutôt que update_data....
Erreur vu à la réouverture du fichier, je n'avais même pas penser a cette erreur ....

En tout cas merci a tous ;)
Modifié en dernier par Steph le 16 août 2021 à 17:28, modifié 1 fois.
Raison : Suppression de la citation inutile du message entier auquel tu réponds directement
Avatar du membre
pierredu
Resp. Extensions
Resp. Extensions
Messages : 1484
Enregistré le : 29 mai 2011 à 06:49
Localisation : Paris
Contact :

Comment insérer des données dans une table via un fichier migration

Message par pierredu »

C'est une erreur classique (la confusion entre schema et data).
Tu n'es pas le premier, ni le dernier.
Répondre

Retourner vers « Aide au développement »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité