Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1487 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme d'insertion dans Mysql avec easyphp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme d'insertion dans Mysql avec easyphp

n°983526
jj59
Posté le 16-02-2005 à 14:14:30  profilanswer
 

bonjour a tous  
j'ai un petit probleme d'insertion dans une base MYSQL
j'ai pas d'erreur de connection à celle ci (de se coté la tout va bien)
quand je fais mon insertion, pas de probleme, mais apres quand je vais dans PHPMYadmin et que je fait afficher ma table, rien n'est rentré
 
voici ma table :
 
   Champ             Type         Null   Défaut  
   uploader_pwd     varchar(30)   Non                  
   uploader_login   varchar(30)   Non                  
   uploader_nom     varchar(30)   Non                  
   uploader_prenom  varchar(30)   Non                  
   uploader_mail    varchar(50)   Non                  
   niv_banni        int(11)       Oui     0                
   date_banni       date          Oui     0000-00-00                
       
et voici mon code php :
 
            $requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'" )';
           
            mysql_query($requet);
 
 
 
 
merci beaucoup pour l'aide  
 

mood
Publicité
Posté le 16-02-2005 à 14:14:30  profilanswer
 

n°983531
KangOl
Profil : pointeur
Posté le 16-02-2005 à 14:18:28  profilanswer
 

et l'erreur retournée c'est quoi ?.


---------------
Nos estans firs di nosse pitite patreye...
n°983533
rompi
Posté le 16-02-2005 à 14:20:02  profilanswer
 

Problème de Sql,
Tu essaye d'insérer 5 champs alors que tu en a 7
dans la table...
Dans ce cas on précise le nom des champs...

n°983752
jj59
Posté le 16-02-2005 à 17:05:28  profilanswer
 

meme si on met une valeur par defaut ?
sinon quelqu'un connais une fonction php qui me permetterai de rentrai la date courante dans la base ?
 
merci beaucoup pour votre aide

n°983758
soju
One shot !
Posté le 16-02-2005 à 17:07:13  profilanswer
 

jj59 a écrit :

la date courante dans la base ?


CURDATE()

n°983786
sky_strike​r
Posté le 16-02-2005 à 17:22:55  profilanswer
 

jj59 a écrit :

meme si on met une valeur par defaut ?
sinon quelqu'un connais une fonction php qui me permetterai de rentrai la date courante dans la base ?
 
merci beaucoup pour votre aide


strftime(); ets une fonction php qui capture la date courante sous différents formats

n°983788
soju
One shot !
Posté le 16-02-2005 à 17:25:00  profilanswer
 

oups, je croyais qu'il cherchait pour sql

n°983816
jj59
Posté le 16-02-2005 à 17:59:31  profilanswer
 

j'ai essayé en mettant des valeurs par defaut et rien ne s'ecrit dans la base
 
voici mon code :
$requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'", 0 , 0000-00-01"'.'" )';
           
            mysql_query($requet);
 
j'ai rien changé a ma table
 
PS : aucune erreur ne s'affiche lorsque je test

n°983829
soju
One shot !
Posté le 16-02-2005 à 18:07:13  profilanswer
 

un petit mysql_error pourrait aider
sinon ya des trucs bizarres dans ta façon d'utiliser les quotes

n°983875
jj59
Posté le 16-02-2005 à 18:41:10  profilanswer
 

je sais pas moi je fais comme sa, maintenant si tu as une autre methode , je suis preneur parce que c'est vrai , c'est le bordel  
 
merci pour ton aide

mood
Publicité
Posté le 16-02-2005 à 18:41:10  profilanswer
 

n°983881
Hermes le ​Messager
Breton Quiétiste
Posté le 16-02-2005 à 18:45:36  profilanswer
 

jj59 a écrit :

bonjour a tous  
j'ai un petit probleme d'insertion dans une base MYSQL
j'ai pas d'erreur de connection à celle ci (de se coté la tout va bien)
quand je fais mon insertion, pas de probleme, mais apres quand je vais dans PHPMYadmin et que je fait afficher ma table, rien n'est rentré
 
voici ma table :
 
   Champ             Type         Null   Défaut  
   uploader_pwd     varchar(30)   Non                  
   uploader_login   varchar(30)   Non                  
   uploader_nom     varchar(30)   Non                  
   uploader_prenom  varchar(30)   Non                  
   uploader_mail    varchar(50)   Non                  
   niv_banni        int(11)       Oui     0                
   date_banni       date          Oui     0000-00-00                
       
et voici mon code php :
 
            $requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'" )';
           
            mysql_query($requet);
 
 
 
 
merci beaucoup pour l'aide


 
 
Clique sur afficher en haut dans le menu.  :o  
 
 :sarcastic:  :sarcastic:

n°983883
jj59
Posté le 16-02-2005 à 18:47:56  profilanswer
 

marche pas justement, il est grisé et inactif
c qu'il y a rien d'entré dans la base

n°983884
Hermes le ​Messager
Breton Quiétiste
Posté le 16-02-2005 à 18:49:13  profilanswer
 

jj59 a écrit :

marche pas justement, il est grisé et inactif
c qu'il y a rien d'entré dans la base


 
F5  :o  

n°983886
jj59
Posté le 16-02-2005 à 18:51:36  profilanswer
 

meme avec F5 sa marche pas

n°983889
Hermes le ​Messager
Breton Quiétiste
Posté le 16-02-2005 à 18:53:11  profilanswer
 

jj59 a écrit :

meme avec F5 sa marche pas


 
Rajoute un champ id int avec auto-incrément et recommence ton insert depuis PHP.
 
 
 
 

n°983892
jj59
Posté le 16-02-2005 à 18:57:03  profilanswer
 

non comprend pas le but de cette manoeuvre
en fait au debut dans ma table , il n'y avait pas les champs :
 
niv_banni                
date_banni  
 
et avec le php je fesait    
            $requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'" )';  
 
 
et sa marchais nikel.
c'est depuis que j'ai rajouté ces deux champs dans ma table que sa ne marche plus et je sais vraiment pas pourquoi      

n°983897
Hermes le ​Messager
Breton Quiétiste
Posté le 16-02-2005 à 19:03:27  profilanswer
 

jj59 a écrit :

non comprend pas le but de cette manoeuvre
en fait au debut dans ma table , il n'y avait pas les champs :
 
niv_banni                
date_banni  
 
et avec le php je fesait    
            $requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'" )';  
 
 
et sa marchais nikel.
c'est depuis que j'ai rajouté ces deux champs dans ma table que sa ne marche plus et je sais vraiment pas pourquoi


 
ET tu n'as aucun message d'erreur à l'insert ?  :o  
 
Montre ton code PHP exact, la page entière...  :o  

n°983905
jj59
Posté le 16-02-2005 à 19:12:37  profilanswer
 

aucun message d'erreur
 
voici le code
 
$host = "localhost";  
           
        $user = "moi";
           
        $bdd = "bdd";
           
        $passwd  = "mon code";
         
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur" );
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
 
 $requet = 'INSERT INTO uploader VALUES ("'.$_POST['pwdcreateur'].'", "'.$_POST['logincreateur'].'", "'.$_POST['nomcreateur'].'", "'.$_POST['prenomcreateur'].'", "'.$_POST['mailcreateur'].'", 0 , NULL "' . '" )';  
             
 
mysql_query($requet);

n°984243
jj59
Posté le 16-02-2005 à 23:21:34  profilanswer
 

c bon sa marche, le probleme venait de ma base et de guillemets mal placées  
je vous remerci quand meme pour votre aide, elle me fut tres utile. c vraiment sympa

n°984267
jj59
Posté le 16-02-2005 à 23:31:59  profilanswer
 

j'ai encore un leger probleme, tout bete a mon avi, mais que j'arrive pas a resoudre
 
voici le code

n°984269
jj59
Posté le 16-02-2005 à 23:32:57  profilanswer
 

j'ai encore un leger probleme, tout bete a mon avi, mais que j'arrive pas a resoudre
 
voici le code
$query = "UPDATE uploader SET niv_banni = niv_banni+1 WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            $query = "SELECT niv_banni WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            if($result == 1)
            {
              echo "je suis a 1";
            }
            if($result == 2)
            {
              echo "je suis a 2";
            }
            if($result == 3)
            {
              echo "je suis a 3";
            }
 
=> aucun echo ne se fait, et je ne comprend pas pourquoi  
merci d'avance

n°984286
ooterreuro​o
'You could drift this car while reading a book'
Posté le 16-02-2005 à 23:37:55  profilanswer
 

jj59 a écrit :

j'ai encore un leger probleme, tout bete a mon avi, mais que j'arrive pas a resoudre
 
voici le code
$query = "UPDATE uploader SET niv_banni = niv_banni+1 WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            $query = "SELECT niv_banni WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            if($result == 1)
            {
              echo "je suis a 1";
            }
            if($result == 2)
            {
              echo "je suis a 2";
            }
            if($result == 3)
            {
              echo "je suis a 3";
            }
 
=> aucun echo ne se fait, et je ne comprend pas pourquoi  
merci d'avance


 
si tu collait le bout de code entier peut etre, j'ai deja mon idée mais sans la fin du code je te dirait peut etre une connerie...
 
par contre easyphp comme serveur :/
 
franchement ya mieu avec la meme facilitée d'utilisation que easy php ;)


---------------
204 - No Content
n°984322
jj59
Posté le 16-02-2005 à 23:58:54  profilanswer
 

merci pour l'aide, voici mon code entier
 
<?php
 
        include("../ressources/fonction.php" );
        connexion();                    
           
        $query = "SELECT * FROM uploader";  
        $result = mysql_query($query);  
        $max = mysql_num_rows($result);
     
        for($cpt=1 ; $cpt <= $max ; $cpt++)
        {
          $nom_case = "choix".$cpt;
 
          if(isset($_POST[$nom_case]))
          {
            $query = "UPDATE uploader SET niv_banni = niv_banni+1 WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            $query2 = "SELECT niv_banni WHERE uploader_id = $cpt";
            $result2 = mysql_query($query);
 
            echo mysql_result($result2,$cpt);
             
            if(mysql_result($result2,$cpt) == "1" )
            {
              echo "je suis a 1";
            }
            if(mysql_result($result2,$cpt) == "2" )
            {
              echo "je suis a 2";
            }
            if(mysql_result($result2,$cpt) == "3" )
            {
              echo "je suis a 3";
            }
          }
        }
         
       
           
          echo "Tout c'est bien passé";
          echo "<div id="."bouton-retour".">".
            "<form methode="."post"." action="."gbdd-uploader.php"."><input type="."submit"." value="."Retour"." /></form>".
            "</div>";
 
         
        mysql_close();  
         
     ?>  
 
par contre j'ai pris easyphp parce que c'est le 1er foi que je developpe un site en php
je ne connaissais pas ce language
mais bon si tu connais autre chose , dit toujours sa m'interesse parce que c vrai que pour la gestion de la base de donnée c pas terrible

n°984368
ooterreuro​o
'You could drift this car while reading a book'
Posté le 17-02-2005 à 00:18:06  profilanswer
 

jj59 a écrit :

merci pour l'aide, voici mon code entier
 
<?php
 
        include("../ressources/fonction.php" );
        connexion();                    
           
        $query = "SELECT * FROM uploader";  
        $result = mysql_query($query);  
        $max = mysql_num_rows($result);
     
        for($cpt=1 ; $cpt <= $max ; $cpt++)
        {
          $nom_case = "choix".$cpt;
 
          if(isset($_POST[$nom_case]))
          {
            $query = "UPDATE uploader SET niv_banni = niv_banni+1 WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            $query2 = "SELECT niv_banni WHERE uploader_id = $cpt";
            $result2 = mysql_query($query);
 
            echo mysql_result($result2,$cpt);
             
            if(mysql_result($result2,$cpt) == "1" )
            {
              echo "je suis a 1";
            }
            if(mysql_result($result2,$cpt) == "2" )
            {
              echo "je suis a 2";
            }
            if(mysql_result($result2,$cpt) == "3" )
            {
              echo "je suis a 3";
            }
          }
        }
         
       
           
          echo "Tout c'est bien passé";
          echo "<div id="."bouton-retour".">".
            "<form methode="."post"." action="."gbdd-uploader.php"."><input type="."submit"." value="."Retour"." /></form>".
            "</div>";
 
         
        mysql_close();  
         
     ?>  
 
euh, il est ou le else :??:
 
normalement quand ya un if faut un else apres, par ex SI x=1 , afficher OK, SINON (donc else) afficher non ok.
 
edit 2 : fait gaffe aux " ; " aussi...

 
par contre j'ai pris easyphp parce que c'est le 1er foi que je developpe un site en php
je ne connaissais pas ce language
mais bon si tu connais autre chose , dit toujours sa m'interesse parce que c vrai que pour la gestion de la base de donnée c pas terrible
 
ya d'autres serveurs web moins troués qu'easy php, passe ici si tu en a envie ;)


Message édité par ooterreuroo le 17-02-2005 à 00:19:29

---------------
204 - No Content
n°984531
Xav_
The only one...
Posté le 17-02-2005 à 10:04:10  profilanswer
 

Citation :

$query2 = "SELECT niv_banni WHERE uploader_id = $cpt";
$result2 = mysql_query($query);


t'a prévu de filer un nom de table dans ta requete SELECT ???
 
et ensuite quand tu veux savoir ce qu'il y a dans $result2, c'est pas mal de parcourir les enregistrement avec un fetch_object, fetch_array, fetch_assoc, enfin tu choisi quoi...
 
ensuite, pour le test, if =1 ou 2 ou 3..etc... c'est des elsif qui serait plus approprié vu qu'il y en qu'un seul de vrai à chaque fois, ou alors meme un case ça peux le faire ;)
 
PS: Pour répondre à ooterreuroo, pkoi un if aurait tjs un else !!! si la condition est vrai je fais un truc, sinon je fais rien, je vais pas écrire un else dans lequel je vais lui dire de rien faire quand meme !!!


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°984697
ooterreuro​o
'You could drift this car while reading a book'
Posté le 17-02-2005 à 11:28:26  profilanswer
 

ca dépends, si sa condition est tout le temps repmplie ok, mais si la condition n'est pas remplie,  on peux afficher ou faire qqe chose...
 
j'ai un script php et si le nom d'utilisateur n'est pas bon, au lieu de s'arreter ca affiche que le nom d'utilisateur est pas bon et ca reviens a la page précédente...
 
pour les elseif c'est plus adapté certes...
 
et faut quand meme qu'il fasse gaffe aux ; parce que si il se plante ou les oublie ca marchera pas ;/


---------------
204 - No Content
n°984736
jj59
Posté le 17-02-2005 à 11:56:35  profilanswer
 

merci pour l'aide les gars, c'est vraiment sympa
j'ai presque resolu le probleme mais sa ne marche toujours pas
 
Xav pourquoi je doit utiliser un fetch_object, fetch_array, fetch_assoc ?? vu que ma requet SQL ne va renvoyer qu'un seul enregistrement (une seul ligne de la table)
 
voici mon code actuel
 
<?php
 
        include("../ressources/fonction.php" );
        connexion();                    
           
        $query = "SELECT * FROM uploader";  
        $result = mysql_query($query);  
        $max = mysql_num_rows($result);
     
        for($cpt=1 ; $cpt <= $max ; $cpt++)
        {
          $nom_case = "choix".$cpt;
 
          if(isset($_POST[$nom_case]))
          {
            $query = "UPDATE uploader SET niv_banni = niv_banni+1 WHERE uploader_id = $cpt";
            $result = mysql_query($query);
             
            $query2 = "SELECT niv_banni FROM uploader WHERE uploader_id = $cpt";
            $result2 = mysql_query($query2);
             
 
echo $result2; // renvoi tout le temps Resource id # 5            
            if($result2 == "1" )
            {
              echo "je suis a 1";
            }
            else if($result2 == "2" )
            {
              echo "je suis a 2";
            }
            else if($result2 == "3" )
            {
              echo "je suis a 3";
            }
          }
        }
         
          echo "Tout c'est bien passé";
          echo "<div id="."bouton-retour".">".
            "<form methode="."post"." action="."gbdd-uploader.php"."><input type="."submit"." value="."Retour"." /></form>".
            "</div>";
 
        mysql_close();    
     ?>  
 
Par contre desole pour le FROM c'été une erreur d'inatention

n°984789
Xav_
The only one...
Posté le 17-02-2005 à 13:09:05  profilanswer
 

ooterreuroo a écrit :

ca dépends, si sa condition est tout le temps repmplie ok, mais si la condition n'est pas remplie,  on peux afficher ou faire qqe chose...
 
j'ai un script php et si le nom d'utilisateur n'est pas bon, au lieu de s'arreter ca affiche que le nom d'utilisateur est pas bon et ca reviens a la page précédente...
 
pour les elseif c'est plus adapté certes...
 
et faut quand meme qu'il fasse gaffe aux ; parce que si il se plante ou les oublie ca marchera pas ;/


 
si la condition est tout le temps rempli, ça n'est pas une condition, donc tu teste pas, tu fait...
 
ensuite je suis d'accord avec toi, que " en général" ya un else, mais ça n'a rien d'obligatoire comme tu semblais vouloir l'affirmer.
Dans l'exemple que tu donne, il est évident que soit on identifie, soit on affiche "identification incorrecte", mais c'est n'est pas tjs le cas.
 
Par exemple si un user est loggé en admin, ben tu lui affiche le menu d'administration en plus, sinon, ben tu affiche rien, dans ce cas pas de else ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°984792
Xav_
The only one...
Posté le 17-02-2005 à 13:14:13  profilanswer
 

Citation :

Xav pourquoi je doit utiliser un fetch_object, fetch_array, fetch_assoc ?? vu que ma requet SQL ne va renvoyer qu'un seul enregistrement (une seul ligne de la table)


ben la doc elle te dis quoi ???
http://fr.php.net/manual/fr/function.mysql-query.php
 

Citation :

Pour les commandes SELECT , mysql_query() retourne un identifiant de résultat que vous pouvez passer à mysql_fetch_array(), ou n'importe quelle autre fonction de lecture de résultat. Lorsque vous avez terminé avec le résultat, libérez la mémoire avec mysql_free_result().


 
 
ça te retourne bien un identifiant de résultat que je sache

Citation :

Resource id # 5


 
Je veux bien aider, mais quand il s'agit de lire la doc, je vais quand meme pas le faire à ta place (quoique, en fait je viens de le faire :()


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°984890
jj59
Posté le 17-02-2005 à 14:27:14  profilanswer
 

c bon j'ai reussi en fesant un
$row = mysql_fetch_row($result2);  
 
puis en utilisant $row[0]
personnelement, je trouve cette methode un peu barbare (fair un tableau pour stocké une variable, c pas terrible)
mais bon sa marche , c l'essentiel merci pour votre aide

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme d'insertion dans Mysql avec easyphp

 

Sujets relatifs
Probleme avec request.getRequestDispatcher()PROBLEME AVEC " mms:// "
Problème d'overflow d'un cadre sur IE : ça foire en largeur [Résolu]problème filtrage données table
Base de données MYSQL : champs avec des < \' >Problème avec libxml2
Problème socket UDPDOMParser et problème avec noeud bidon
Problème Requete avec sélection par annéeprobleme isset() avec index.php
Plus de sujets relatifs à : probleme d'insertion dans Mysql avec easyphp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR