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 SQL : number of bound variables does not match number of tokens [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut Erreur SQL : number of bound variables does not match number of tokens
    Bonjour à tous,

    Je fais appel à vous car je ne trouve pas mon erreur dans une requête SQL.
    L'erreur est de type : Invalid parameter number: number of bound variables does not match number of tokens : ligne 67

    En vous remerciant pour l'aide


    Voici mon code:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    <?php
    //require ("connexion.php");
    if(!$user->is_loggedin())
    {
        $user->redirect('login.php');
    }
     
    //affichage des données pour le formulaire
    $stmtDsp = $connexion->prepare("SELECT user.id AS id, user.name AS name, user.email AS email, user.password AS password, user_messagery.user_id AS user_id, user_messagery.host AS host, user_messagery.port AS port, user_messagery.smtp_secure AS smtp_secure, user_messagery.smtp_auth AS smtp_auth, user_messagery.username AS username, user_messagery.password AS password  FROM user LEFT JOIN user_messagery ON (id=user_id) ");
    $stmtDsp->execute();
    $Dsprow=$stmtDsp->fetch(PDO::FETCH_ASSOC);
     
     
     
    //edition messagerie
    if(isset($_POST['btn-messagery']))
    {
      echo $user_id = $_POST['user_id'];
       $host = $_POST['txt_host'];
       $port = $_POST['txt_port'];
       $smtp_secure = $_POST['txt_smtp_secure']; 
       $smtp_auth = $_POST['txt_smtp_auth'];
       $username = $_POST['txt_username'];
       $mpass =  password_hash($_POST['txt_mpass'], PASSWORD_DEFAULT); 
       $mpass2 = password_hash($_POST['txt_mpass2'], PASSWORD_DEFAULT); 
     
       if($host=="") {
          $error2[] = "Veuillez entrer le serveur host !"; 
       }
       else if($port=="") {
          $error2[] = "Veuillez entrer le port !"; 
       }
       else if($smtp_secure=="") {
          $error2[] = "Veuillez entrer le type SSL !"; 
       }
       else if($smtp_auth=="") {
          $error2[] = "Veuillez entrer le Type SSL !"; 
       }
       else if($username=="") {
          $error2[] = "Veuillez entrer le login messagerie !"; 
       }
     
       else if($mpass=="") {
          $error2[] = "Veuillez entrer le mot de passe messagerie !";
       }
     
       else
       {
     		//check si insert ou update  	
          if(!isset($user_id)){
     
             $stmt_insert = $connexion->prepare("INSERT INTO user_messagery (user_id, host, port, smtp_secure, smtp_auth, username, password) VALUES (:user_id, :host, :port, :smtp_s, :smtp_a, :username, :password)");
    		 $stmt_insert->execute(array(':user_id'=>$user_id, ':host'=>$host, ':port'=>$port, ':smtp_s'=>$smtp_secure, ':smtp_a'=>$smtp_auth, ':username'=>$username, ':password'=>$mpass));
                    $user->redirect('profil.php?joined');
    		}
    		else {
     
    			$stmt_update_msg = $connexion->prepare("UPDATE user_messagery SET host = :host, port = :port, smtp_secure = :smtp_s, smtp_auth = smtp_a, username = :username, password = :password WHERE user_id = :user_id");
    		        $stmt_update_msg->BindParam(":host",$host);
    			$stmt_update_msg->BindParam(":port",$port);
    			$stmt_update_msg->BindParam(":smtp_s",$smtp_secure);
    			$stmt_update_msg->BindParam(":smtp_a",$smtp_auth);
    			$stmt_update_msg->BindParam(":username",$username);
    			$stmt_update_msg->BindParam(":password",$mpass);
    			$stmt_update_msg->BindParam(":user_id",$user_id);
    			$stmt_update_msg->execute();
    		echo "<script type='text/javascript'>document.location.replace('index.php?ok&house=1')</script>";
    		}   	
     
     
      } 
    }
     
    ?>
    <html>
    <head>
    </head>
     
    <body>
     
    <div class="container">
    	<div class="row">
        	<div class="col-lg-8">
    			<div class="main">
                    <ul class="nav nav-pills">
                      <li class="active"><a data-toggle="pill" href="#menu1">Réglage messagerie</a></li>
                      <li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
                      <li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
     
                    </ul>
     
                    <div class="tab-content">
                      <div id="menu1" class="tab-pane fade in active">
     
                        <div class="form-container">
     
                                <h2>Paramètres messagerie</h2><hr />
                                <?php
                                if(isset($error2))
                                {
                                   foreach($error2 as $error2)
                                   {
                                      ?>
                                      <div class="alert alert-danger">
                                          <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $error2; ?>
                                      </div>
                                      <?php
                                   }
                                }
                                else if(isset($_GET['joined']))
                                {
                                     ?>
                                     <div class="alert alert-info">
                                          <i class="glyphicon glyphicon-log-in"></i> &nbsp; Vous êtes bien enregistré <a href='index.php'>Connexion</a> ici
                                     </div>
                                     <?php
                                }
                                ?>
     
                                <form class="form" method="post" >
                                <input type="hidden" class="form-control" name="user_id" value="<?php echo $Dsprow['user_id']; ?>"  />
                                <div class="form-group">
                                <input type="text" class="form-control" name="txt_host" placeholder="Host" value="<?php echo $Dsprow['host']; ?>"  />
                                </div>
                                <div class="form-group">
                                <input type="text" class="form-control" name="txt_port" placeholder="Port" value="<?php echo $Dsprow['port']; ?>"  />
                                </div>
                                <div class="form-group">
                                <input type="text" class="form-control" name="txt_smtp_secure" placeholder="Smtp_secure" value="<?php echo $Dsprow['smtp_secure'];?>"  />
                                </div>
                                <div class="form-group">
                                <input type="text" class="form-control" name="txt_smtp_auth" placeholder="Smtp_auth" value="<?php echo $Dsprow['smtp_auth'];?>"  />
                                </div>
                                <div class="form-group">
                                <input type="text" class="form-control" name="txt_username" placeholder="Username" value="<?php echo $Dsprow['username'];?>" />
                                </div>
                                <div class="form-group">
                                 <input type="password" class="form-control" name="txt_mpass" placeholder="Mot de passe" />
                                </div>
                                <div class="form-group">
                                 <input type="password" class="form-control" name="txt_mpass2" placeholder="Confirmer le mot de passe" />
                                </div>
                                <div class="clearfix"></div><hr />
                                <div class="form-group">
                                      <div class="col-sm-8">
                                        <button type="submit" class="btn btn-default" id="btn-messagery" name="btn-messagery">Modifier</button>
                                        &nbsp;<a href="index.php">Annuler</a>
                                      </div>
                                    </div>
                            </form>
                           </div>
                      </div>
     
                    </div>	
             </div> 
        	</div>
    	</div>
    </div>
     
    </body>
    </html>

  2. #2
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Salut,
    Dans la requête L58 il y a : qui a "sauté" avant smtp_a

  3. #3
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Arff mes yeux ont "ignoré" ce détail.

    Merci à toi pour l'aide

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

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