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

SQL Procédural MySQL Discussion :

probleme de code avec mysql


Sujet :

SQL Procédural MySQL

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Points : 76
    Points
    76
    Par défaut probleme de code avec mysql
    Salut, j'ai un gros probleme de code et je ne comprend rien du tout

    1) il encode bien les question sans problème
    2) il n'encode qu'une seul de mes questions et la je ne comprend pas

    j'ai remarqué que dans mysql ma table reponse avec un autoindex de 255 pour le suivant et mon enregistrement prend cette valeur

    pourriez vous m'aider je deviens fou


    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
     
    <?PHP
    	if (isset($_POST['serie']))
    	{
    		$requete_addquestion = "INSERT INTO question(QuestID,SerieID,QuestQuestion) VALUES('','".$_POST['serie']."','".$_POST['question']."')";
    		$resultat_addquestion = mysql_query($requete_addquestion);
    		$breponse1=0;
    		$breponse2=0;
    		$breponse3=0;
    		$breponse4=0;
     
    		switch($_POST['reponseOK'])
    		{
    			case 1 :
    				$breponse1=1;
     
    				break;
    			case 2 :
    				$breponse2=1;
    				break;
    			case 3 :
    				$breponse3=1;
    				break;
    			case 4 :
    				$breponse4=1;
    				break;
    		}
    		$requete_question="SELECT QuestID From question";
    		$resultat_question=mysql_query($requete_question);
    		$IDquestion=0;
    		while($question=mysql_fetch_array($resultat_question))
    		{
    			$IDquestion = $question['QuestID'];
    		}
     
     
     
    		$requete_addreponse1 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".$_POST['reponse1']."','".$breponse1."')";
    		$resultat_addreponse1 = mysql_query($requete_addreponse1);
     
    		$requete_addreponse2 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".$_POST['reponse2']."','".$breponse2."')";
    		$resultat_addreponse2 = mysql_query($requete_addreponse2);
     
    		$requete_addreponse3 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".$_POST['reponse3']."','".$breponse3."')";
    		$resultat_addreponse3 = mysql_query($requete_addreponse3);
     
    		$requete_addreponse4 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".$_POST['reponse4']."','".$breponse4."')";
    		$resultat_addreponse4 = mysql_query($requete_addreponse4);
     
     
     
    	}
    ?>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $requete_question="SELECT QuestID From question";
    $resultat_question=mysql_query($requete_question);
    $IDquestion=0;
    while($question=mysql_fetch_array($resultat_question))
    {
    	$IDquestion = $question['QuestID'];
    }
    tu peux supprimer ça pour reecuperer le dernier identifiant; il existe la fonction mysql_insert_id();
    ton code devient

    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
    <?PHP
    if (isset($_POST['serie']) && isset($_POST['reponse1']) && isset($_POST['reponse2']) && isset($_POST['reponse3']) && isset($_POST['reponse4']) && isset($_POST['question']) && isset($_POST['reponseOK']))
    {
    	$requete_addquestion = "INSERT INTO question(QuestID,SerieID,QuestQuestion) VALUES('','".addslashes($_POST['serie'])."','".addslashes($_POST['question'])."')";
    	$resultat_addquestion = mysql_query($requete_addquestion);
    	$IDquestion=mysql_insert_id();
    	$breponse1=0;
    	$breponse2=0;
    	$breponse3=0;
    	$breponse4=0;
    		
    	switch($_POST['reponseOK'])
    	{
    		case 1 :$breponse1=1;break;
    		case 2 :$breponse2=1;break;
    		case 3 :$breponse3=1;break;
    		case 4 :$breponse4=1;break;
    	}
    		
    	$requete_addreponse1 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".addslashes($_POST['reponse1'])."','".$breponse1."')";
    	$resultat_addreponse1 = mysql_query($requete_addreponse1);
    		
    	$requete_addreponse2 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".addslashes($_POST['reponse2'])."','".$breponse2."')";
    	$resultat_addreponse2 = mysql_query($requete_addreponse2);
    		
    	$requete_addreponse3 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".addslashes($_POST['reponse3'])."','".$breponse3."')";
    	$resultat_addreponse3 = mysql_query($requete_addreponse3);
    		
    	$requete_addreponse4 = "INSERT INTO reponse(RepID,QuestID,RepReponse, RepStatut) VALUES('', '".$IDquestion."' ,'".addslashes($_POST['reponse4'])."','".$breponse4."')";
    	$resultat_addreponse4 = mysql_query($requete_addreponse4);
    }
    ?>
    es tu sur de lexistence de tes $_POST
    Dernière modification par Invité ; 07/06/2006 à 14h48.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 66
    Points
    66
    Par défaut
    Si tu as des caractères double quotes (") ou des quotes (') dans tes réponses ou questions, ca peut fucker tes requetes SQL. Dans tes requêtes SQL, ajoute des slash sur tes variables POST comme suit:

    ex: "INSERT INTO reponse(ID,Question) VALUES ('','". addslashes($_POST["question"])."')";

    C'est peut-être la raison que ca n'insère qu'une seule réponse !

  4. #4
    Invité
    Invité(e)
    Par défaut
    +1 (jai modifié mon code pour mettre les addslashes)

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 66
    Points
    66
    Par défaut
    et ça a réglé ton problème ?

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

Discussions similaires

  1. [SGBD] probleme de connection avec MYSQL server 4.1
    Par sezar dans le forum Installation
    Réponses: 1
    Dernier message: 15/06/2006, 21h41
  2. [SGBD] Problème requete PHP avec MySQL
    Par TomZ dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/06/2006, 01h40
  3. Problème de connection avec mysql
    Par moule dans le forum Réseau
    Réponses: 2
    Dernier message: 19/04/2006, 13h19
  4. probleme procedure stockée avec Mysql
    Par emna_bz dans le forum Installation
    Réponses: 2
    Dernier message: 01/02/2006, 16h26
  5. Probleme Sauvegarde-Restauration avec MySql Administrator
    Par Christophe Charron dans le forum Administration
    Réponses: 7
    Dernier message: 26/07/2005, 08h25

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