Problème d'insertion base MySQL

Résolu
Bonjour tout le monde,

J'ai un problème en voulant insérer les données récupérées par un formulaire lors de l'inscription et de les insérer dans la base. Voici le code, très simple:

$dbname = '***';
$hostname = '***';
$username = '***';
$password = '***';



$id_link = mysql_connect($hostname, $username, $password);

$sql = "INSERT INTO utilisateur (id, nom, prenom, date_naissance, date_inscription, ecole, classe, rue, ville, type, newsletter, activite, email, mot_de_passe, question_sec, reponse_sec) VALUES('', '$nom', '$prenom', '$date_naissance', '$moment', '$ecole', '$classe', '$rue', '$ville', '', '$newsletter', '', '$email', '$mot_de_passe', '$question_sec', '$reponse_sec')"; 

@mysql_db_query ($dbname,$sql,$id_link);


La connexion fonctionne. Les données récupérées par le formulaire sont "bonnes", je l'ai testé avec echo.
Problème, la requete ne fonctionne pas : les données ne s'ajoutent pas dans la base!!!!
Petite précision : le champ "id" est en AUTO_INCREMENT et "activité" n'est pas renseigné lors de l'inscription, il reste blanc..

MERCI d'avance.. Je cale!
DL
Configuration: Windows XP Internet Explorer 7.0

25 réponses

  1. Marque comme résolu please !!!
    0
    1. si t'as tout bon pour les parametres... c'est censé marcher impec...
      0
      1. Salut Chamicki
        je sens que tu vas me hair toute ta vie :)
        J'ai fait une faute de frappe en créant ma base il y a un mois

        ecolara_be au lieu de ecoloara_be

        Merci à tous pour vos réponses en tout cas et bonnes vacances !!!! Shame on me !!!
        DL
        0
        1. Vérifie que ut as fait aucune faute d'orthographe !!!!!
          1
          1. Alors j'ai essayé avec mysql_error

            Code

            $probleme = mysql_error();
            echo $probleme;
            


            Réponse : Base "ecoloara_be" inconnue.

            Alors là je me pose des questions !!! Ma base existe !
            0
            1. Essaye en changeant les valeurs de connexion à ta base

              $serveur="???????";
              $utilisateur="??????";
              $mot_de_passe="?????";
              $nom_de_base="???????";
              1
              1. Merci pour ce code personnalisé :)

                Réponse:
                Echec de connexion a la base. Veuillez contacter le responsable du site
                0
                1. des clés etrangères... mais bon je crois pas ke ce soit le cas, vu ta réaction !!

                  mais.... j' bug là !!! je Ne pensez-vous pas qu'il faille SELECTIONNER la base??? et je suis ouff !!!

                  en recuperant l'erreur avec mysql_error() t'as l'info sur l'erreur qui est produite....
                  0
                  1. if($id=mysql_connect($serveur,$utilisateur,$mot_de_passe))
                    {
                        if(mysql_select_db($nom_de_base))
                        {
                           	$req = "INSERT INTO utilisateur (id, nom, prenom, date_naissance, date_inscription, ecole, classe, rue, ville, type, newsletter, activite, email, mot_de_passe, question_sec, reponse_sec) VALUES('', '$nom', '$prenom', '$date_naissance', '$moment', '$ecole', '$classe', '$rue', '$ville', '', '$newsletter', '', '$email', '$mot_de_passe', '$question_sec', '$reponse_sec')"; 
                    
                    		$ok_req = mysql_query($req,$id);
                    		if($ok_req)
                    		{
                    			echo "Envoi ok";
                    			
                    		}
                    		else
                    		{
                    			die("Envoi Non ok. Veuillez contacter le responsable du site");
                    		}
                    
                        }
                        else
                        {
                            die("Echec de connexion a la base. Veuillez contacter le responsable du site");
                        }
                        mysql_close($id);
                    }
                    else
                    {
                        die("Echec de connexion au serveur de base de données. Veuillez contacter le responsable du site");
                    }
                    ?>
                    
                    0
                    1. Ne pensez-vous pas qu'il faille SELECTIONNER la base???
                      0
                      1. dis moi un truc....

                        TYPE et ACTIVITE sont des FOREIGN KEY ???
                        0
                        1. Voila donc je suppose qu'il faut mettre NULL pour :
                          - type
                          - activite

                          Il ne me laisse pas mettre NULL pour id.

                          Alors je l'ai fait ... Eh ben nan, toujours rien ! POURTANT, PHP n'indique AUCUNE erreur...

                          Avez-vous une idée??? Pourtant sur MySql ça marche à merveille..
                          0
                          1. chuuttt... dis rien..

                            c'est pas un mystère php.... si ce champ est auto_increment... y a aucun intérêt à la mentionné dans ta requête, puis de lui donner une valeur NULL... autant l'omettre.... il aura de toute façon sa valeur...

                            ce ki est sûr.. c'est censé passer... si c'est vraiment auto comme tu l'as dit....
                            0
                            1. Salut Atspinto

                              Donc la requete fonctionne quand j'enleve Id, comme tu dis. Mais avec le PHP, mystère rien ne s'ajoute.
                              Je n'ai pas encore essayé avec NULL, chamicki, je te dis koi.

                              Merci à vous pour vos reponses rapides
                              0
                              1. l'auto_increment doit pas etre effectif... si t'as ce genre d'erreur.. enfin je crois...

                                supprimes donc la partie id dans ta requete d'insertion... et vois ce ke ça donne ....
                                1
                                1. Voilà : j'ai essayé la requete:
                                  Voici l'erreur: ;
                                  #1366 - Incorrect integer value: '' for column 'id' at row 1

                                  Que dois-je faire???
                                  Merci DL
                                  0
                                  • 1
                                  • 2