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

Requêtes MySQL Discussion :

Probleme Php et Mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut Probleme Php et Mysql
    Bonjour,
    j'ai comme on dirait un probleme qui va me rendre dingue, alors je vous explique, j'ai un formulaire qui renvoi ses infos vers un fichier traitement.php qui vas vérifier les infos du formulaire et puis l'inserer dans une base de données, toutefois j'ai remarqué un probleme bizzard...
    dans mon formulaire j'ai mis a part les champs varchar, j'ai 1 champ integer et un autre float, si je laisse ces 2 champs vides et que je valide le formulaire j'ai une erreur de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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,0,,9)' at line 1
    par contre si je rempli ces 2 champs ca passe impéc, en sachant que dans mon code j'utilise ISSET pour vérifier si les variable n'ont pas été remplies alors je les rempli par 0 mais le probleme persiste... quelqu'un a une idée ?

    Cordialement

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    As-tu affiché ta requête pour voir ce qui n'allait pas ?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut
    Salut, voici le code de mon formulaire :

    clientp.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
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    </head>
     
    <body>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 250px; top: 170px;">
    <form name="form1" method="post" action="traitement.php">
      <table width="600" border="0">
        <tr>
          <td width="127">Nom : </td>
          <td width="208"><input name="nom" type="text" id="nom"></td>
          <td width="100">Banque : </td>
          <td width="147"><input name="banque" type="text" id="banque"></td>
        </tr>
        <tr>
          <td>Pr&eacute;nom : </td>
          <td><input name="prenom" type="text" id="prenom"></td>
          <td>Ville : </td>
          <td><input name="ville" type="text" id="ville"></td>
        </tr>
        <tr>
          <td>Adresse : </td>
          <td><input name="adresse" type="text" id="adresse"></td>
          <td>Code postal : </td>
          <td><input name="code_postal" type="text" id="code_postal"></td>
        </tr>
        <tr>
          <td>Email : </td>
          <td><input name="email" type="text" id="email"></td>
          <td>Pays : </td>
          <td><input name="pays" type="text" id="pays"></td>
        </tr>
        <tr>
          <td>T&eacute;lephone1 : </td>
          <td><input name="telephone1" type="text" id="telephone1"></td>
          <td>Valide ch&eacute;que : </td>
          <td><input name="valide_cheque" type="checkbox" id="valide_cheque"></td>
        </tr>
        <tr>
          <td>T&eacute;lephone2 : </td>
          <td><input name="telephone2" type="text" id="telephone2"></td>
          <td>Valide effet : </td>
          <td><input name="valide_effet" type="checkbox" id="valide_effet"></td>
        </tr>
        <tr>
          <td>GSM : </td>
          <td><input name="gsm" type="text" id="gsm"></td>
          <td>Limite : </td>
          <td><input name="limite" type="text" id="limite"></td>
        </tr>
        <tr>
          <td>Fax : </td>
          <td><input name="fax" type="text" id="fax"></td>
          <td>Repr&eacute;sentant : </td>
          <td><select name="representant" id="representant">
          </select></td>
        </tr>
        <tr>
          <td height="40">Compte bancaire  : </td>
          <td><input name="compte_bancaire" type="text" id="compte_bancaire"></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td height="40"><input name="masque" type="hidden" id="masque" value="clientp"></td>
          <td><input type="submit" name="Submit" value="Envoyer"></td>
          <td><p>
            <input type="reset" name="Submit" value="R&eacute;initialiser">
          </p>
            </td>
          <td>&nbsp;</td>
        </tr>
      </table>
      <p>&nbsp;  </p>
    </form>
    </div>
    <p>&nbsp;</p>
    </body>
    </html>
    voila le code de traitement.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
    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
    <?php
    //include ("connexionbase.inc.php");
    $masque=$_POST['masque'];
    echo $masque;
     
        if ($masque=="clientp")
        {echo 'debut';
    	if (is_null($_POST['limite']))
    	echo 'limite est null';
    	include ("connexionbase.inc.php");
    	if(isset($_POST['nom'])) 
    	$nom=$_POST['nom'];
    	else
    	$nom="";
    	if(isset($_POST['prenom']))
    	$prenom=$_POST['prenom'];
    	else
    	$prenom="";
    	if(isset($_POST['adresse']))
    	$adresse=$_POST['adresse'];
    	else
    	$adresse="";
    	if(isset($_POST['email']))
    	$email=$_POST['email'];
    	else
    	$email="";
    	if(isset($_POST['telephone1']))
    	$telephone1=$_POST['telephone1'];
    	else
    	$telephone1="";
    	if(isset($_POST['telephone2']))
    	$telephone2=$_POST['telephone2'];
    	else
    	$telephone2="";
    	if(isset($_POST['gsm']))
    	$gsm=$_POST['gsm'];
    	else
    	$gsm="";
    	if(isset($_POST['fax']))
    	$fax=$_POST['fax'];
    	else
    	$fax="";
    	if(isset($_POST['compte_bancaire']))
    	$compte_bancaire=$_POST['compte_bancaire'];
    	else
    	$compte_bancaire="";
    	if(isset($_POST['banque']))
    	$banque=$_POST['banque'];
    	else
    	$banque="";
    	if(isset($_POST['ville']))
    	$ville=$_POST['ville'];
    	else
    	$ville="";
    	if(isset($_POST['code_postal']))
    	$code_postal=$_POST['code_postal'];
    	else
    	$code_postal=0;
    	if(isset($_POST['pays']))
    	$pays=$_POST['pays'];
    	else
    	$pays="";
    	if(isset($_POST['valide_cheque']))
    	$valide_cheque=$_POST['valide_cheque'];
    	else
    	$valide_cheque=0;
    	if(isset($_POST['valide_effet']))
    	$valide_effet=$_POST['valide_effet'];
    	else
    	$valide_effet=0;
    	if(isset($_POST['limite']))
    	$limite=$_POST['limite'];
    	else
    	$limite=0;
    	if(isset($_POST['representant']))
    	$representant=$_POST['representant'];
    	else
    	$representant=0;
    		if ($_POST['valide_cheque']=="on") $valide_cheque=1;
    	 	else $valide_cheque=0;
    		if ($_POST['valide_effet']=="on") $valide_effet=1;
    	 	else $valide_effet=0;
     
    		$requete = "INSERT into client(nom,adresse,email,tel1,tel2,tel_perso,fax,compte_bancaire,banque,ville,cp,pays,val_cheque,val_effet,limite,num_representant) values('$nom','$adresse','$email','$telephone1','$telephone2','$gsm','$fax','$compte_bancaire','$banque','$ville',$code_postal,'$pays',$valide_cheque,$valide_effet,$limite,9)"; 
    			$resultat = mysql_query($requete) or die("erreur dans premiere requete" . mysql_error()); 
     
    	if( mysql_num_rows($resultat) == 1 ) 
    	{
    	  $requete2 = "INSERT into client_physique values(". mysql_insert_id() . ",'".$prenom."')";
    	  $resultat2 = mysql_query($requete2);// or die( mysql_error() );
    	  }
    	  include ("deconnexionbase.inc.php");
    	  echo 'test';
    	  }

  4. #4
    Membre du Club Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Points : 68
    Points
    68
    Par défaut
    attends tu peux juste afficher une requête créée par ton code pour qu'on puisse voir ce qu'elle donne???

  5. #5
    Membre du Club Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Points : 68
    Points
    68
    Par défaut
    bon déjà je sais pas si ça change vraiment quelque chose, mais d'habitude, les mots "INTO" et "VALUES" sont en majuscules....
    Essaie ça déjà....
    mais apparemment l'erreur vient pas de là.... vu ce que te dit l'erreur... il faut absolument que tu affiche ta requête pour qu'on puisse voir....

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut
    tu veux dire quoi par afficher une requete ? tu parles d'un select ? j'ai pu inserer dans une autre table et un autre formulaire mais la ou il y a pas de champ INTEGER ou FLOAT, ca marche trés bien, mais la...

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut
    Salut, j'ai essayé INTO et VALUES en Maj mais ca change rien

  8. #8
    Membre du Club Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Points : 68
    Points
    68
    Par défaut
    nan, il faut juste que tu voix ce que ton code a "écrit"...
    au lieu de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($SQL_marequete) OR DIE(mysql_error());
    écrits:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($SQL_marequete) OR DIE($SQL_marequete);

  9. #9
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    version for the right syntax to use near ''',0,0,,9)

    Vu le message donné, moi je vois 2 virgules qui se suivent et donc sans valeur... On parie qu'un de tes champs a été zappé ?

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut
    voila ce que ca donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clientpdebutINSERT INTO client(nom,adresse,email,tel1,tel2,tel_perso,fax,compte_bancaire,banque,ville,cp,pays,val_cheque,val_effet,limite,num_representant) VALUES('qsf','','','','','','','','','',,'',0,0,,9)
    il ne prend pas les valeurs de LIMITE et de CODE_POSTAL meme aprés le test de ISSET

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    fais un var_dump($_POST) pour voir

  12. #12
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 72
    Points : 48
    Points
    48
    Par défaut
    voila je crois que j'ai trouvé, il fallais utiliser la fonction empty a la place de isset... merci encore

  13. #13
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    if(isset($_POST['limite']))
    $limite=$_POST['limite'];
    else
    $limite=0;

    si la personne rentre un blanc ca ne peut pas marcher. Vérifie le type quand il s'agit d'un nombre attendu.
    A la limite pour une chaine tu entoure de quote de toute facon donc l'erreur sera fonctionnelle et non technique.

  14. #14
    Membre du Club Avatar de Shin_RockmanX
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 78
    Points : 68
    Points
    68
    Par défaut
    à mon avis ton problème viens surtout du fait que il y a deux virgules qui se suivent... ça va pas marcher ça c'est sûr...
    Soit tu fais en sorte qu'il y ait des données, soit tu mets des ' pour les séparer....

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

Discussions similaires

  1. [MySQL] Probleme PHP et MySQL
    Par sadikhsy dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/08/2010, 14h41
  2. Probleme de requete MySQL dans PHP
    Par cheers94wow dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/05/2006, 17h25
  3. Problème entre PHP et MySQL
    Par kornmuse90 dans le forum Installation
    Réponses: 12
    Dernier message: 19/04/2006, 18h37
  4. [MySQL] encore un probleme php mysql
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 02/03/2006, 16h14
  5. [SGBD] Probleme Avec Php et Mysql
    Par junior258 dans le forum Installation
    Réponses: 2
    Dernier message: 20/09/2005, 10h39

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