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

Langage PHP Discussion :

probleme d'insertion dans db avec ma classe mysql


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut probleme d'insertion dans db avec ma classe mysql
    j'ai une class Mysql avec un méthode insert_item
    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
     
    	public function insert_item ($table_name,$column_name, $values)
    	{
    		//echo "classe mysql// TAB".$table_name."<br>COL".$column_name."<br>VAL".$values;
    		$query="INSERT INTO ". $table_name. "( ".$column_name." ) VALUES ( ".$values.")";
    		try
    		{
    			mysql_query($query);
    			echo"Insertion r&eacute;ussie";
    		}
    		catch (Exception $e)
    		{
    			$this->error("Erreur lors de l'insertion dans la table ". $tablename." ". mysql_error());
    		}
    	}
    Maintenant dans mon fichier php j'ai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $expReg = new ExpReg ();
    $nom = $expReg->txtControl($_POST['nom']);
    $prenom = $expReg->txtControl($_POST['prenom']);
    $email = $expReg->emailControl($_POST['email']);
    //echo $nom.", ".$prenom.", ".$email;
    $sql = new Mysql("localhost","root","mysql");
    $sql->open();
    $sql->select_db("esnig");
    $crypt = new Cryptage();
    $idValidAccount = $crypt->validAccount();
    echo $idValidAccount;
    $sql->insert_item("users","nomUser,prenomUser,emailUser,idValideAccount,valideAccount", "$nom,$prenom,$email,$idValidAccount,0");
    $sql->close();
    Quand je remplie le formulaire d'ajout d'utilisateur, tous et en ordre il me récupère mes donnée, il les contrôles, tous ok.
    Je l'es ai même afficher donc il sont bien là.

    Maintenant quand je veux les insérer dans la base de donnée. Il n'y aucune erreurs mais aucun enregistrement n'est enregistré dans la base et affiche insertion réussie comme si tous étais normal.
    Je fais l'affiché les donnée dans la méthode insert_item de ma class Mysql
    et mes donnée s'affiche bien.
    Je ne comprend pas pourquoi elle ne s'enregistre pas dans la base
    Je remercie par avance a tous ceux qui pourront m'aider

    p.s Si besoin de complément dite le

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Je suis pas sûr que le paramétre:
    "$nom,$prenom,$email,$idValidAccount,0"
    passé dans la fonction soit bon.

    Ce dernier doit récupérer ce paramétre comme une chaine et même si la requête (un echo) parait bonne, il ne connaîtra pas $nom, $prenom etc.
    Fait un echo de $nom dans la méthode insert_item, je pense qu'il ne connaîtra pas.

    Soit passer tous les arguments $nom, $prenom, ... un par un ou alors une autre manière.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    J'ai deja fais l'echo dans la methode insert_item
    c'est pour cela que ca me parrais bizzare.......
    je crois que la version juste et celle-ci, sans les guillemets pour le 3 ème parametre le values.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    				$sql->insert_item("users","nomUser,prenomUser,emailUser,idValideAccount,valideAccount", $nom,$prenom,$email,$idValidAccount,0);
    sa fonctionne pas non plus
    a ne plus rien comprendre

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Donnes moi un echo de $query ...

    De plus, je suppose que tu as changé l'entête de la fonction et la construction de $query

    En dernier, et même si ça marche, la fonction insert_query sera à changer si tu veux vraiment une fonction (car celle ci risque d'être figée dans les arguments).
    ça donnerait une fonction genre:
    public function insert_item ($table_name,$column_name, $values, $nbValues)
    avec $column_name la chaine des champs pour la requête
    et $values un tableau de valeurs
    $nbValues le nombre d'éléments (pour pouvoir construire la requête)
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    j'avais pas pensée a l'echo du $query

    je le fais de suite je te dedis

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    voici se qui imprime
    INSERT INTO users( nomUser,
    prenomUser,
    emailUser,
    idValideAccount,
    valideAccount )
    VALUES (
    Di Blasio,
    Michael,
    diblasio.michael.****,
    45f176b98abfab7b21b3527a16f2035ab779acc3,
    0)

    j'ai fais un test dans sql il me donne des erreurs vais voir ca.
    Ce que je comprend pas c'est pourquoi pas d'erreur ???????
    je te remercie pour ces infos
    Merci pour ton conseil de tout a l'heure.

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    idValideAccount ne doit pas être bon si c un index numérique

    C quoi la définition de la table 'users'
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    merci pour tes précieuse info.
    le problème est résolu, Il manquais les '' au values
    Les données sont bien inserées maintenant

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

Discussions similaires

  1. Probleme Insertion dans BDD avec dbaccess
    Par Mobybic dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2011, 20h14
  2. probleme d'insertion dans mysql avec java
    Par hypothese dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/09/2008, 12h02
  3. probleme d'insertion dans table avec cle secondaire
    Par pseudobidon57 dans le forum SQL
    Réponses: 1
    Dernier message: 01/06/2007, 13h46
  4. [interbase6]probleme d'insertion dans une table
    Par macadam314 dans le forum Bases de données
    Réponses: 10
    Dernier message: 22/02/2005, 14h21
  5. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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