[PHP+MySQL] Problème avec une requête insert

Résolu/Fermé
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 - 25 avril 2006 à 16:22
 zahra - 14 juin 2013 à 14:32
Bonjour

J'ai un formulaire avec trois champs. Quand j'appuie sur le bouton "Ajouter", j'ajoute le contenu dans une base de données.

Ca c'est en théorie.

Parce qu'en pratique il ne se passe rien. Il reconnait les variables (je peux les afficher), MySQL ne me retourne pas d'erreur mais il ne se passe rien...

Voici mon code :


<?php
if (isset($_POST['NomService']) AND isset($_POST['Diminutif']) AND isset($_POST['CodeServ'])) // Si les variables existent
{
    if ($_POST['NomService'] != NULL AND $_POST['Diminutif'] != NULL AND $_POST['CodeServ'] != NULL) // Si on a quelque chose à enregistrer
    {
        // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "root", "") or die('Connexion impossible');
        mysql_select_db("repertoire") or die('Connexion impossible');

        // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
		
        $nomservice = htmlentities($_POST['NomService']);
        $diminutif = htmlentities($_POST['Diminutif']);
        $codeserv = htmlentities($_POST['CodeServ']);

        // Ensuite on enregistre le message
        mysql_query("INSERT INTO SERVICES (NomService, Diminutif, CodeServ)VALUES('$nomservice', '$diminutif', '$codeserv')");

        // On se déconnecte de MySQL
        mysql_close();

    }
} ?>



Voilà

Si quelqu'un a une idée de ce qui peux merder parce que là je sèche.
Merci d'avance

Mougeole
A voir également:

3 réponses

Slyvore Messages postés 19 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 26 avril 2006 2
26 avril 2006 à 15:14
Alors, pour ta requete, essaye ca comme ca :

$rq = "INSERT INTO `SERVICES` (`NomService`, `Diminutif`, `CodeServ`) VALUES ('$nomservice', '$diminutif', '$codeserv')";
mysql_query($rq);

Sinon, en effet, verifie bien le contenu te tes variable.

Pense à verifier si ta table s'appel bien SERVICES en majuscule, et que le nom des champs est bien écrit (majuscule et minuscule).

Ensuite, ce que je fais moi, c'est que je test "INSERT INTO `SERVICES` (`NomService`, `Diminutif`, `CodeServ`) VALUES ('test1', 'test2', 'test3')" directement dans les requete SQL voir si ca marche
0
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 26
26 avril 2006 à 16:47
Salut

Merci de vos réponse.

En réalité c'était beaucoup plus con que ça : dans la base de données j'ai un champs CodServ et non pas CodeServ.

Je suis trop étourdi.

Pour me faire pardonner je vous indique les quelques modification que j'ai pu apporté en plus :

if ($btnAjouter)
{
       //Ici on ajoute le code du message précédent
}



J'ai également rajouté un test que voici :

if(!ctype_space($_POST['NomService']) AND !ctype_space($_POST['Diminutif']) AND !ctype_space($_POST['CodServ']))


la fonction ctype_space retourne TRUE si les variables sont composé exclusivement d'espace.

Voilà
Et encore désolé si je vous est fais perdre du temps

Salut
0
Mec si t'as pas résolu ton probleme c'est a cause des accents dans le debut utilise des accents grave ex:

$sql = "INSERT INTO `produit`.`clients` (`nom`, `prenom`, `addresse`, `ville`, `code postale`, `telephone`, `portable`, `email`, `motdepasse`) VALUES ('indar', 'indarti', 'sdff', 'ssss', 'aaaaaa', 'aaaa', 'aaa', 'aaa', 'zzzzz');";
0
j'ai un problème sur les requête il m'affiche ce message: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''mabase01'' at line 1"
0
antic80 Messages postés 4751 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 1 159
26 avril 2006 à 10:19
deja je pense que la

INSERT INTO SERVICES (NomService, Diminutif, CodeServ)

il faudrait mettre

INSERT INTO SERVICES ('NomService', 'Diminutif', 'CodeServ')

sinon juste avant ta requete affiche tes 3 variables voir si il y a quelque chose dedans


echo $nomservice ;
echo $diminutif ;
echo $codeserv ;
-1