Téléchargement
illégal
Posez votre question Signaler

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

Mougeole 34Messages postés 11 novembre 2005Date d'inscription - Dernière réponse le 6 janv. 2010 à 21:59
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
Lire la suite 

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

4 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
stef - 6 janv. 2010 à 21:59
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');";
Ajouter un commentaire
Réponse
-1
moins plus
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 ;
Ajouter un commentaire
Ce document intitulé « [PHP+MySQL] Problème avec une requête insert » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?