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

PHP & Base de données Discussion :

Insertion BD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut Insertion BD
    Bonjour,
    voilà j'ai créer une nouvelle table ds ma bd et j'aimerai y insérer les champs d'un formulaire. Je l'ai déjà fait pour d'autres tables mais là il n'y a pas moyen sa veut pa s'insérer !! je suis dessus depuis presque 2H donc si quelqu'un peut prendre le temps de regarder mon code et me dire si j'ai fais des erreurs que je n'aurais pas vu !! Merci bcp

    Voici le code de mon formulaire :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    <html>
     
     
     
    <head>
    </head>
    <body>
    <center>
    <?php 
    $N=$_POST['Adr'];
     
    //connection avec la BD
     
    $bd = "administrateur";
    $connection = mysql_connect("localhost","root","0000"); 
     
    // test la connection
    if ( ! $connection ) 
    die ("connection impossible"); 
     
    // Connecte la base
    mysql_select_db($bd) or die ("pas de connection");
     
    $reponse = mysql_query("SELECT * FROM adresse where Nom='$N'"); // Requête SQL
     
     
    ?>
     
     
    <form action="valid_ajout_horaire.php" method="POST">
    <table border="1" width="600" height="150">
     
     
    <tr bgcolor="#6699FF">
    <td colspan="2"><b>Ajout des horaires</b></td>
    </tr>
     
    <tr>
    <td colspan="2">Vous allez ajouter les horaires de :</td>
    </tr>
     
    <tr>
    <td height="50"><input name="Nom" type="text" value="<?php echo $N; ?>" style='text-transform:uppercase'>
    </td>
    </tr>
     
     
    <tr>
    <td>
    <table>
     
    <tr>
    <td>Jours d'ouverture</td>
    <td class=normal colSpan=2>
    du <input name="J1" type="text"> au <input name="J2" type="text" ></td>
    </tr>
     
    <tr>
    <td>Horaires : </td>
    </tr>
    <tr>
    <td>Matin : </td>
    <td>de <input name="HMO" type="text" size="10" > a <input name="HMF" type="text" size="10" ></td>
    </tr>
     
    <tr>
    <td>Apres-midi : </td>
    <td>de <input name="HAO" type="text" size="10" > a <input name="HAF" type="text" size="10"></td>
    </tr>
     
     
    <tr>
    <td><input name="Val" type="submit" value="Ajouter"></td>
    <td><input name="Val" type="reset" value="Annuler"></td>
    </tr>
    </table>
     
     
    </table>
    </form>
     
    <?php mysql_close(); ?>
     
    </center>
    </body>
    </html>
     
    et le code de la page de validation 
     
     <html>
    <head>
    <title>Modifier une adresse</title>
    </head>
     
    <body>
     
    <?php 
     
    //connection avec la BD
     
    $bd = "administrateur";
    $connection = mysql_connect("localhost","root","0000"); 
     
    // test la connection
    if ( ! $connection ) 
    die ("connection impossible"); 
     
    // Connecte la base
    mysql_select_db($bd) or die ("pas de connection");
     
    //récupération des données 
    $Na=$_POST["Nom"];
    $J1=$_POST["J1"];
    $J2=$_POST["J2"];
    $HMO=$_POST["HMO"];
    $HMF=$_POST["HMF"];
    $HAO=$_POST["HAO"];
    $HAF=$_POST["HAF"];
     
    // test Si la valeur de N égal à la valeur de Nom ????
     
    $requete="select * from horaire where Nom='".mysql_real_escape_string($Na)."'";
     
    if(mysql_num_rows(mysql_query($requete))>0)
    {
     echo "les horaires pour cette adresse existent deja dans la base de donnees" ;
    ?>
    <br><br>
    <A href="../administrateur/accueiladm.php">Revenir au Menu principal</A>
    <A href="Ajout_horaire_form.php">Ajouter les horaires d'une autre adresse</A>
     
    <?php
    }
     
    else 
    {
     
    $sql = mysql_query("Insert into horaire (id,Nom,Jour0,JourF,HeurMatO,HeurMatF,HeurApO,HeurAPF) value('','$Na','$J1','$J2','$HMO','$HMF','$HAO','$HAF')"); //requete
     
    ?>
     
    <center><b>la mise a jour sur l'adresse <?php echo $Na;?> a bien ete effectuee</b> <br>
     
    <table>
    <tr>
    <td><A href="ajout_horaire_form.php">Ajouter les horaires d'une autre adresse</A></td>
    <td>       </td>
    <td>       </td>
    <td><A href="../administrateur/accueiladm.php">Revenir au Menu principal</A></td>
    </tr>
    </center>
    </table>
    <?php
    } 
    mysql_close(); 
    ?>
    </body>
    </html>

  2. #2
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Salut,

    Utilise la balise CODE pour mettre ton code stp. ça sera plus digeste à l'affichage. C'est juste au dessus de la zone de texte, ce petit icône: .


    Sinon pour ton problème, ajoute cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Erreur MySQL : ".mysql_error();
    à la fin de la partie PHP de ta page de validation.

    Tu sauras de suite quel est le problème dans ta requête et si c'est effectivement ta requête qui foire.


    Au passage, je te conseille de mettre la portion de ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //connection avec la BD
    $bd = "administrateur";
    $connection = mysql_connect("localhost","root","0000");
    // test la connection
    if ( ! $connection )
    die ("connection impossible");
    // Connecte la base
    mysql_select_db($bd) or die ("pas de connection");
    dans un fichier appellé "connect_db.php" que tu placeras dans un dossier "common" à la racine de ton site.
    Ainsi tu pourras remplacer cette partile là de ton code par un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once("common/connect_db.php");
    (à condition bien sur que les scripts appellant soit à la racine du site, sinon adapte l'url )

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    j'ai rajouté mais il ne me dise pas d'erreur dans mon sql je ne comprend vraiment pas car je l'ai déjà fait pour d'autres tables et sa marché !!! aaaaaaaaaaaaaaa

  4. #4
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Remplace ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = mysql_query("Insert into horaire (id,Nom,Jour0,JourF,HeurMatO,HeurMatF,HeurApO,HeurAPF) value('','$Na','$J1','$J2','$HMO','$HMF','$HAO','$HAF')"); //requete
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chSQL = "INSERT INTO horaire (id, Nom, Jour0, JourF, HeurMatO, HeurMatF, HeurApO, HeurAPF) value ('', '$Na', '$J1', '$J2', '$HMO', '$HMF', '$HAO', '$HAF')"
    $sql = mysql_query($chSQL);
    echo "<br><b>Requete SQL :</b> ".$chSQL."<br><b>Erreur SQL :</b> ".mysql_error()."<br><b>Nombre de lignes : </b>".mysql_affected_rows();
    Tu pourras voir ce que t'essaies d'injecter, l'erreur que retourne le serveur MySQL, s'il y a, et le nombre de lignes affectées par ta requête.

    Si ça t'affiche une requête qui te semble correcte suivie de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur SQL : 
    Nombre de lignes : 1
    Alors copie la requête affichée et soumets là directement à ton serveur. Par exemple par le biais de PHPMyAdmin. Il sera peut-être plus bavard.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    il me dise sa :
    Requete SQL :
    Erreur SQL : Query was empty
    Nombre de lignes : -1

    sa veut dire quoi ???

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    il manque deja un 's' à values

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    meme en rajoutant un s sa marche pas. Pour les autres requete j'ai pas mis de 's' a value et sa marchait !! je comprend vraiment pas et sa me bloque !! help Meeeeee!!!

  8. #8
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Bien vu cybher

    Pour ce qu'il te retourne, c'est normal, j'ai oublié un ; à la fin de la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chSQL = "INSERT INTO horaire (id, Nom, Jour0, JourF, HeurMatO, HeurMatF, HeurApO, HeurAPF) values ('', '$Na', '$J1', '$J2', '$HMO', '$HMF', '$HAO', '$HAF')";
    Essaie comme ça.

  9. #9
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Citation Envoyé par rachou59650 Voir le message
    meme en rajoutant un s sa marche pas. Pour les autres requete j'ai pas mis de 's' a value et sa marchait !! je comprend vraiment pas et sa me bloque !! help Meeeeee!!!
    Du calme, du calme... on est là

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    Merci aidez-moi ... j'ai essayé de supprimer ma table et de la remettre mais sa ne marche tjs pas .. pourtant j'ai fais exactement comme ma requete précédente et l'autre marche mais pas celle là ...

  11. #11
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    avec la correction du ';' , peut on avoir ce que cela te retourne avec le code de gwinyam

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    c'est bon j'ai réussi !! javé mis des zero au lieu des 'O' dans ma requete !! merci a vous !!!

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

Discussions similaires

  1. [DOM] [Xerces] Insertion d'une entité
    Par Traroth dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/05/2008, 09h28
  2. Bulk insert et caractère accentué
    Par slc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2003, 12h52
  3. probleme d'insertion d'un Float
    Par neness dans le forum Débuter
    Réponses: 3
    Dernier message: 07/01/2003, 12h32
  4. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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