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 :

Erreur PDO pendant INSERT INTO


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Par défaut Erreur PDO pendant INSERT INTO
    Bonjour tout le monde

    Dans ma quête du GRAL MySQL je continue à me cogner la tête
    En effet, ce qui fonctionnait 'avant' ne fonctionne plus 'maintenant'

    En gros, je n'arrive pas à insérer car il me dit qu'il y a une erreur de nombre de paramètres... J'ai fait et refait les codes cela ne change strictement rien...
    Un regard extérieur peut aider...

    Voici mes codes :

    index.php
    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
     
    Contrat 1and1
    <hr>
    <?php
    include ('../pdo.php');
    // AFFICHAGE DONNEES
    $sql = 'SELECT numero-client,numero-contrat,user,password FROM 1and1';
    try{
    $req = $DB->query($sql);
    while($d = $req->fetch(PDO::FETCH_ASSOC)){
    	echo 'Numéro Client : '.$d['numero-client'].'<br \>';
    	echo 'Numéro de Contrat : '.$d['numero-contrat'].'<br \>';
    	echo 'ID User : '.$d['user'].'<br \>';
    	echo 'Mot de Passe : '.$d['password'].'</p>';
    	echo '<hr>';
    	}
    }
    catch(PDOException $e){
    	echo 'Votre requête a rencontrée une erreur !';
    }
    ?>
    pdo.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    // CONNEXION DB
    try{
    	$DB = new PDO('mysql:host=localhost;dbname=dbname','root','');
    	$DB->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    }
    catch(PDOException $e) {
    	echo 'La base de donnée n\'est pas disponible!';
    }
    ?>
    form.php
    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
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <title>1and1</title>
    </head>
    <body>
    <?php include '../pdo.php';?>
    <form method="post" action="insert.php">
    	Numéro Client : <input type="text" name="numero-client"/><br \><br \>
    	Numéro Contrat : <input type="text" name="numero-contrat"/><br \><br \>
    	ID User : <input type="text" name="user"/><br \><br \>
    	Password : <input type="text" name="password"/><br \><br \>
     
    	<input type="submit" value="VALIDER"/>
    </form>
    </body>
    </html>
    et enfin insert.php
    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
    22
    23
    24
    25
    26
    27
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <!--<meta http-equiv="Refresh" content="0; url=index.php">-->
      <title>1and1</title>
    </head>
    <body>
    <?php
    include('../pdo.php');
    // INSERTION DB
    /* données à insérées */ 
    $d = array (
     
    'numero-client' => $_POST['numero-client'],
    'numero-contrat' => $_POST['numero-contrat'],
    'user' => $_POST['user'],
    'password' => $_POST['password'],
     
    );
    $req = $DB->prepare('INSERT INTO 1and1 (numero-client,numero-contrat,user,password)
    							VALUE (:numero-client , :numero-contrat , :user , :password)');
    $req->execute($d);
    ?>
    </body>
    </html>

  2. #2
    Membre chevronné
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Par défaut
    Bonjour,

    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
    // INSERTION DB
    /* données à insérées */ 
    $d = array (
    
    ':numero-client' => $_POST['numero-client'],
    ':numero-contrat' => $_POST['numero-contrat'],
    ':user' => $_POST['user'],
    ':password' => $_POST['password'],
    
    );
    $req = $DB->prepare('INSERT INTO 1and1 (numero-client,numero-contrat,user,password)
    							VALUE (:numero-client , :numero-contrat , :user , :password)');
    $req->execute($d);
    ?>
    Et comme ceci ?

  3. #3
    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
    Les paramètres ne peuvent pas contenir de tiret dans leur nom.
    De même mettre des tirets dans le nom de tes colonnes ait une mauvaise idée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Par défaut
    Bonjour valaedra et sabotage

    MERCIIIIII pour vos réponses.
    Alors je viens juste d'arriver du boulot et j'ai pris en compte le dernier post, celui de sabotage.

    En effet, c'est une mauvaise idée de mettre de '-' ou '_' dans des noms de variables !!!!!

    Donc le sujet est résolu

    Merci à tous les deux

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    l'underscore "_" est tout-à-fait acceptable dans les noms de variables.


  6. #6
    Membre averti
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    l'underscore "_" est tout-à-fait acceptable dans les noms de variables.
    Effectivement, merci pour toutes ces bonnes informations jreaux62

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

Discussions similaires

  1. Erreur d'Insert into PDO
    Par Francisco22 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/04/2015, 01h19
  2. [PDO] PDO MySQL INSERT INTO rien ne s'insere.
    Par jano_dave dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/12/2009, 10h49
  3. erreur syntaxe sur insert into (date)
    Par jpclutier dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/05/2009, 10h02
  4. erreur 3219 sur insert into
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/11/2006, 16h02
  5. [SQL] Erreur lors de INSERT INTO => WHERE
    Par DeFCrew dans le forum Access
    Réponses: 14
    Dernier message: 07/08/2006, 16h26

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