IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insertion multiple ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut Insertion multiple ne fonctionne pas
    Bonjour,
    J'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    function inserer($parametres, $inserer)
    {
    	global $bdd;
     
    	$titresCol = str_replace(':', '', $parametres);
    	$nbCol = count($inserer[1]);
     
    	$requete = "INSERT IGNORE INTO adresses ($titresCol)
    		VALUES ($parametres);";
    	echo $requete;
    	$reponse = $bdd->prepare($requete);
    	foreach ($inserer as $key=>$ligne)
    	{
    		var_dump($ligne);
    		$reponse->execute($ligne);
    	}
    	//return $reponse->rowCount();
    }
    ?>
    Ce code me renvoie une erreur:
    "Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' "
    Pourtant le var_dump($ligne) me renvoie ce résultat:
    array (size=5)
    0 => string '1' (length=1)
    1 => string 'xxxxxxxx' (length=8)
    2 => string 'F' (length=1)
    3 => string '03460' (length=5)
    4 => string 'Trévol' (length=7)
    La ligne echo $requete renvoie le texte suivant:
    INSERT IGNORE INTO adresses (id_abo, client, pays, cp, ville) VALUES (:id_abo, :client, :pays, :cp, :ville);
    J'ai bien 5 paramètres et 5 valeurs. Je n'ai pas pris en compte la clef primaire constituée par le champ id en auto-incrément et qui ne devrait donc pas poser de problème.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu utilises des paramètres nommés (:id_abo) dans la preparation, tu dois avoir le même nom en clef du tableau donné pour l'exécution.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Ah! Merci!
    En fait, j'ai fait le contraire, j'ai évité de nommer les paramètres et ça marche trop bien : Il me reste encore un problème, le mot clef IGNORE n'est pas pris en compte, il faut que je vérifie mon index UNIQUE mais ça sort de la question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bulk Insert qui ne fonctionne pas
    Par genio dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 01/11/2007, 01h13
  2. [MySQL] INSERT qui ne fonctionne pas
    Par djudjublondin dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/08/2007, 19h46
  3. [WD11] Insert Into ne fonctionne pas
    Par IdrilElendil dans le forum WinDev
    Réponses: 4
    Dernier message: 04/04/2007, 15h03
  4. [ODBC] une requete d'insertion qui ne fonctionne pas
    Par boulhous dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/05/2006, 13h56
  5. Insert qui ne fonctionne pas
    Par Nyrianne dans le forum Outils
    Réponses: 7
    Dernier message: 09/01/2006, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo