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 :

incrémentation en base ne marche pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut incrémentation en base ne marche pas
    bonjour je veux juste fair un compteur mais ca ne marche pas je ne comprend pas. Voici mon script
    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
    $con=mysql_connect($host,$user,$pass);
    mysql_select_db($db);	
    
    
    $s_mail=$_POST['log'];
    $s_passuser=$_POST['pwd'];
    
    
    //$s_passuser=md5($pwd);
    
    $veriflog = "SELECT * FROM lt_user WHERE email='$s_mail' AND pwd='$s_passuser'";
    
    if(!($resveriflog=mysql_query($veriflog,$con)))
    {
    	print("Erreur de requete<BR>\n");
    	print("MySQL reporte: " . mysql_error() . "<BR>\n");
    	print("La requete etait: $veriflog<BR>\n");
    	exit();
    }  
    
    if($res=mysql_fetch_array(mysql_query("SELECT * FROM lt_user WHERE (email='".$s_mail."')  AND pwd='".$s_passuser."'")))
    {		
    	$_SESSION['login_connection'] = $s_mail;
    	
    	//echo "res :".$res['id_lt_user']."<br>";	
    	
    	$s_user_id = $res['id_lt_user'];
    	$_SESSION['s_user_id'] = $s_user_id;
    	//echo "s_user_id :$s_user_id<br>";	
    	
    	$s_dl = $res['dl'];
    	$_SESSION['s_dl'] = $s_dl;
    	echo "s_dl :$s_dl<br>";	
    	
    	$res = 'UPDATE lt_user
    	SET dl = '. $s_dl + 1 .'
    	WHERE id_lt_user = '.$s_user_id;
    	mysql_query($res);
    	
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.type3.com/EN/products&services/LT/dl/test.rar\">";
    	
    	
    }
    si quelqu un voit ou se trouve mon erreur

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Et c'est quoi l'erreur

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    essaye ceci pour voir

    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
     
    <?php
    $con=mysql_connect($host,$user,$pass);
    mysql_select_db($db);	
     
     
    $s_mail=$_POST['log'];
    $s_passuser=$_POST['pwd'];
     
     
    //$s_passuser=md5($pwd);
     
    $veriflog = "SELECT * FROM lt_user WHERE email='$s_mail' AND pwd='$s_passuser'";
     
    $resveriflog=mysql_query($veriflog,$con);
     
    if($resveriflog==false)
    {
    	print("Erreur de requete<BR>\n");
    	print("MySQL reporte: " . mysql_error() . "<BR>\n");
    	print("La requete etait: $veriflog<BR>\n");
    	exit();
    }  
     
    if($res=mysql_fetch_array($resveriflog))
    {		
    	$_SESSION['login_connection'] = $s_mail;
     
    	//echo "res :".$res['id_lt_user']."<br>";	
     
    	$s_user_id = $res['id_lt_user'];
    	$_SESSION['s_user_id'] = $s_user_id;
    	//echo "s_user_id :$s_user_id<br>";	
     
    	$s_dl = $res['dl'];
    	$_SESSION['s_dl'] = $s_dl;
    	echo "s_dl :$s_dl<br>";	
     
    	$resultat = 'UPDATE lt_user
    	SET dl = '. $s_dl + 1 .'
    	WHERE id_lt_user = '.$s_user_id;
    	mysql_query($resultat);
     
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.type3.com/EN/products&services/LT/dl/test.rar\">";
     
     
    }
    ?>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    je n ai aucune erreur, ms ma base ne s incremente pas

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    Merci pour ton aide mais cela ne fais rien non plus

    Citation Envoyé par MaitrePylos
    essaye ceci pour voir

    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
     
    <?php
    $con=mysql_connect($host,$user,$pass);
    mysql_select_db($db);	
     
     
    $s_mail=$_POST['log'];
    $s_passuser=$_POST['pwd'];
     
     
    //$s_passuser=md5($pwd);
     
    $veriflog = "SELECT * FROM lt_user WHERE email='$s_mail' AND pwd='$s_passuser'";
     
    $resveriflog=mysql_query($veriflog,$con);
     
    if($resveriflog==false)
    {
    	print("Erreur de requete<BR>\n");
    	print("MySQL reporte: " . mysql_error() . "<BR>\n");
    	print("La requete etait: $veriflog<BR>\n");
    	exit();
    }  
     
    if($res=mysql_fetch_array($resveriflog))
    {		
    	$_SESSION['login_connection'] = $s_mail;
     
    	//echo "res :".$res['id_lt_user']."<br>";	
     
    	$s_user_id = $res['id_lt_user'];
    	$_SESSION['s_user_id'] = $s_user_id;
    	//echo "s_user_id :$s_user_id<br>";	
     
    	$s_dl = $res['dl'];
    	$_SESSION['s_dl'] = $s_dl;
    	echo "s_dl :$s_dl<br>";	
     
    	$resultat = 'UPDATE lt_user
    	SET dl = '. $s_dl + 1 .'
    	WHERE id_lt_user = '.$s_user_id;
    	mysql_query($resultat);
     
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.type3.com/EN/products&services/LT/dl/test.rar\">";
     
     
    }
    ?>

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    et celui-ci

    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
     
    <?php
     
    $con=mysql_connect($host,$user,$pass);
    mysql_select_db($db);
     
     
    $s_mail=$_POST['log'];
    $s_passuser=$_POST['pwd'];
     
     
    //$s_passuser=md5($pwd);
     
    $veriflog = "SELECT * FROM lt_user WHERE email='$s_mail' AND pwd='$s_passuser'";
     
    $resveriflog=mysql_query($veriflog,$con);
     
    if($resveriflog==false)
    {
    	print("Erreur de requete<BR>\n");
    	print("MySQL reporte: " . mysql_error() . "<BR>\n");
    	print("La requete etait: $veriflog<BR>\n");
    	exit();
    }
     
    if($res=mysql_fetch_array($resveriflog))
    {
    	$_SESSION['login_connection'] = $s_mail;
     
    	//echo "res :".$res['id_lt_user']."<br>";
     
    	//$s_user_id = $res['id_lt_user'];
    	$_SESSION['s_user_id'] = $res['id_lt_user'];
    	//echo "s_user_id :$s_user_id<br>";
     
    	//$s_dl = $res['dl'];
    	$_SESSION['s_dl'] = $res['dl'];
    	echo "s_dl :$_SESSION[s_dl]<br>";
     
    	$resultat = 'UPDATE lt_user SET dl =';
    	$resultat.= $_SESSION['s_dl'] + 1 ;
    	$resultat.=' WHERE id_lt_user = '.$_SESSION['s_user_id'];
     
    	mysql_query($resultat);
     
    	echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.type3.com/EN/products&services/LT/dl/test.rar\">";
     
     
    }
     
     
    ?>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    ca ne marche pas non plus

    jai modifier pour l incrementation et j ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $s_dl = $s_dl++;
        $resultat = "UPDATE lt_user SET dl = $s_dl WHERE id_lt_user = $s_user_id";
    	mysql_query($resultat);
    ca marche av ca

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    ha ben ca ne marche plus. Ca a marché uniquement quand jai uploader la mise a jour..; Sinon ca marche plus ej ne comprend plus rien.

  9. #9
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $s_dl = $s_dl++;
    $resultat = "UPDATE `lt_user` SET `dl`='$s_dl' WHERE `id_lt_user`='$s_user_id'";
    mysql_query($resultat);
    Dia [ Page DVP ] [ Site pro ]

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Fais un echo de ta requête. Suis la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // ta requête
    $sql='...';
    $result=mysql_query($sql) or die('Erreur SQL<br />Message d\'erreur : '.mysql_error().'<br />Requête SQL : '.$sql);
    Et poste les messages obtenus.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    en fait le update ne marche pas du tout... jai testé l update sur un autre champ ca ne donne rien...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    le messag obtenu est la suivante
    Erreur SQL
    Message d'erreur : Unknown column '$s_user_id' in 'where clause'
    Requête SQL : UPDATE lt_user SET firstName = 'truc' WHERE id_lt_user = $s_user_id

  13. #13
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    c'est que ta requête quand tu la construit, est entre simple quotes, faut qu'elle soit entre double quotes pour que la variable soit évaluée, essaie celle que j'ai postée plus haut
    Dia [ Page DVP ] [ Site pro ]

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    bon ya plus d erreur ms ca ne s incremente trj pas... c debile pourtant

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    Citation Envoyé par huynhi
    bon ya plus d erreur ms ca ne s incremente trj pas... c debile pourtant

    Bon ji comprend rien maintenant ca marche

  16. #16
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Bon, alors n'oublie pas le tag
    De façon générale, je te conseille d'utiliser la syntaxe que je t'ai indiquée pour toutes les requêtes, au moins en développement. A éviter en revanche en production pour ne pas donner des infos à un hacker éventuel. Tu peux donc utiliser une fonction qui vérifiera avant affichage si une constante DEBUG par exemple est à TRUE.

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

Discussions similaires

  1. base de donnée paradox 7 marche pas sur les autres PC
    Par 21247692 dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/03/2009, 11h02
  2. [MySQL] pas d'erreur mais l'insertion dans la base ne marche pas bien
    Par info_sara dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/05/2008, 15h55
  3. Réponses: 3
    Dernier message: 24/04/2008, 17h30
  4. Base de données d'exemple qui ne marche pas
    Par kedare dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 29/11/2007, 04h21
  5. Ma base ne marche pas sur windows 98 bilingue
    Par karmehdi dans le forum Access
    Réponses: 6
    Dernier message: 12/09/2006, 16h17

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