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 d'insertion avec script PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 21
    Points
    21
    Par défaut Erreur d'insertion avec script PHP
    Bonjour à tous,

    Malgré que j'ai réussi à faire des centaines de requêtes auparavant, celle que je vais vous présenter ne fonctionne pas et je ne sais pas pour quelle raison.

    Pourtant elle fonctionne bien sur un autre serveur mysql mais pas sur le mien (hébergé par OVH tout comme l'autre).

    Voici la requête en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("INSERT INTO `srr_clients` (`id`, `mail`, `pass`, `nom`, `prenom`, `adresse`, `cp`, `ville`, `region`, `pays`, `telephone`, `mobile`, `question_se`, `reponse_se`, `parrainnage`, `parrain`, `bonus_use`, `type`) VALUES (NULL, '".$email."' , '".$pass."', '".$nom."', '".$prenom."', '".$adresse."', '".$cp."', '".$ville."', '".$region."', '".$pays."', ".$telephone.", ".$portable.", '".$qst_s."', '".$rp_s."', ".$parrainnage.", ".$parrain.", 0, 1)");
    Tous les champs sont vérifiés et voici le code qu'il y a avant pour vous montrer le contenu des variables :
    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
     $email = htmlentities($_POST['EMail'], ENT_QUOTES);
    						 $pass = md5($_POST['mdp']);
    						 $nom = htmlentities($_POST['Nom'], ENT_QUOTES);
    						 $prenom = htmlentities($_POST['Prenom'], ENT_QUOTES);
    						 $adresse = htmlentities($_POST['Adresse'], ENT_QUOTES);
    						 $region = htmlentities($_POST['Region'], ENT_QUOTES);
    						 $ville = htmlentities($_POST['Ville'], ENT_QUOTES);
    						 $telephone = $_POST['Telephone'];
    						 $portable = $_POST['Portable'];
    						 $cp = $_POST['Codepostal'];
    						 $pays = htmlentities($_POST['Pays'], ENT_QUOTES);
    						 $qst_s = htmlentities($_POST['Quest_se'], ENT_QUOTES);
    					   	 $rp_s = md5($_POST['Rep_se']);
    						 if (ValideParrain($Parrain) == 1){
    						 	$parrainnage = 1;
    							$parrain = $_POST['Parrain'];
    						 }
    						 else {
    						 	$parrainnage = 0;
    							$parrain = NULL;
    						 }
    Et voici l'erreur que j'obtiens quand je veux insérer les données dans la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 0, 1)' at line 1
    Pourtant quand je fais la requête directement sous phpmyadmin la requête fonctionne (avec les valeurs en clair) mais ne passe pas avec le script php .

    Ca n'arrive qu'à moi ces vieux bugs

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Controle les valeurs reçues :

    affiche ta requete avant de l'executer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sql = "INSERT INTO `srr_clients` (`id`, `mail`, `pass`, `nom`, `prenom`, `adresse`, `cp`, `ville`, `region`, `pays`, `telephone`, `mobile`, `question_se`, `reponse_se`, `parrainnage`, `parrain`, `bonus_use`, `type`) VALUES (NULL, '".$email."' , '".$pass."', '".$nom."', '".$prenom."', '".$adresse."', '".$cp."', '".$ville."', '".$region."', '".$pays."', ".$telephone.", ".$portable.", '".$qst_s."', '".$rp_s."', ".$parrainnage.", ".$parrain.", 0, 1)";
    echo $sql;
    $res = mysql_query($sql);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Plus c'est élémentaire, plus on y pense pas.

    Ca :
    donnait un espace vide sans valeur dans la ligne de la requête.

    Il suffit de le remplacer par :
    en veillant à ne pas mettre de cote entre la variable dans la requête. Merci encore ^^

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

Discussions similaires

  1. Erreur de sécurité avec script PHP
    Par offspring dans le forum Silverlight
    Réponses: 1
    Dernier message: 23/10/2009, 15h51
  2. Capter les erreurs d'insertion avec avertissements à OFF
    Par guidav dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/04/2008, 17h43
  3. [EasyPHP] Erreur introuvable dans le script php
    Par ultrabody dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 14/03/2007, 11h21
  4. Probleme d'affichage avec script php
    Par Misoss dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2006, 20h50
  5. détection JVM installé avec script php/javascript
    Par <DYDY> dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/06/2006, 15h42

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