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

Requêtes MySQL Discussion :

Pb ajout entrée impossible


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut Pb ajout entrée impossible
    Hello
    Voici un script recup sur un bouquin de formation (php4 campuspress)
    certain listing fonctionnent,celui ci non, et j'arrive pas à voir pourquoi(alors que la connection est à priori ok):

    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
    <html>
    <head>
    <title>Listing 12.3 : ajout d'une entrée d'utilisateur dans une base de données</title>
    </head>
    <body>
    <?php
    if ( isset( $domain ) && isset( $sex ) && isset( $domain ) )
    {
    // contrôle de l'entrée de l'utilisateur ici !
    $dberror = "";
    $ret = add_to_database( $domain, $sex, $mail, $dberror );
    if ( ! $ret )
    print "Erreur : $dberror<BR>";
    else
    print "Merci beaucoup";
    }
    else {
    write_form();
    }
     
    function add_to_database( $domain, $sex, $mail, &$dberror )
    {
    $user = "harry";
    $pass = "elbomonkey";
    $db = "domains";
    $link = mysql_connect( "localhost", $user, $pass );
    if ( ! $link )
     
    {
    $dberror = "Impossible de se connecter au serveur MySQL";
    return false;
    }
    if ( ! mysql_select_db( $db, $link ) )
    {
    $dberror = mysql_error();
    return false;
    }
    $query = "INSERT INTO domains ( domain, sex, mail )
    values( '$domain', '$sex', '$mail' )";
    mysql_query( $query, $link );
    $id = mysql_insert_id();
    print "Merci . Votre numéro est $id";
    if ( ! mysql_query( $query, $link ) )
    {
    $dberror = mysql_error();
    return false;
    }
    return true;
    }
     
    function write_form()
    {
    global $PHP_SELF;
    print "<form action=\"$PHP_SELF\" method=\"POST\">\n";
    print "<input type=\"text\" name=\"domain\"> ";
    print "Le domaine que vous aimeriez<p>\n";
    print "<input TYPE=\"text\" name=\"mail\"> ";
    print "Votre adresse postale<p>\n";
    print "<select name=\"sexe\">\n";
    print "\t<option value=\"F\"> Féminin\n";
    print "\t<option value=\"M\"> Masculin\n";
    print "</select>\n";
    print "<input type=\"submit\" value=\"submit!\">\n</form>\n";
    }
    ?>
    </body>
    </html>
    Celui là fonctionne,il ajoute une entrée,que je retrouve sur myAdmin

    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
    1: <html>
    2: <head>
    3: <title>Listing 12.2 : ajout d'une ligne à une table</title>
    4: </head>
    5: <body>
    6: <?php
    $user = "harry";
    $pass = "elbomonkey";
    $db = "domains";
    $link = mysql_connect( "localhost", $user, $pass );
    if ( ! $link )
    die( "Impossible de se connecter à MySQL" );
    mysql_select_db( $db, $link )
    or die ( "Impossible d'ouvrir $db: ".mysql_error() );
    $query = "INSERT INTO domains ( domain, sex, mail )
    values( '123xyz.com', 'F', 'sharp@adomain.com' )";
    mysql_query( $query, $link )
    or die ( "Impossible d'ajouter des données à la table \"domains\" "
    .mysql_error() );
    mysql_close( $link );
    ?>
    </body>
    </html>
    je trouve bien l'entrée values( '123xyz.com', 'F', 'sharp@adomain.com' )"

    Merci de votre éclairage!!!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut
    Bonjour

    Pour commencer c'est un souci php et non MySql
    C'est vraiment le code d'un tutorial cela ? ou c'est une recopie ?

    Cela commence fort avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF ( isset( $domain ) && isset( $sex ) && isset( $domain ) )
    Donc ici on teste 2 fois la même variable (il s'agissait sans doute de $mail...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query = "INSERT INTO domains ( domain, sex, mail )
    values( '$domain', '$sex', '$mail' )";
    mysql_query( $query, $link );
    $id = mysql_insert_id();
    print "Merci . Votre numéro est $id";
    IF ( ! mysql_query( $query, $link ) )
    Ici on exécute 2 fois la même requête !
    Franchement ce tutorial est nul (ou la saisie du code est erronnée, de votre part ou même chez l'éditeur), vous perdez votre temps

    Regardez donc le bouquin d'Antoun ici présent ("MySql 5 Le guide"), voilà un bon bouquin qui outre une excellente présention de MySql vous présentera des scripts php corrects.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut
    Et quand même une piste sur le fond du souci. Ce script ne peut fonctionner que sur un environnement php (fichier php.ini) avec "Register global" à "on" ce qui n'est plus toujours le cas. Creusez cette piste et demandez de l'aide dans le forum php si nécessaire.
    Bon courage

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

Discussions similaires

  1. désactiver touche entrée, impossible!
    Par gwena54 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/08/2008, 17h57
  2. Ajout entre 2 tables
    Par berti dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 13/03/2008, 17h01
  3. [MySQL] problème formulaire ajouter entrées dans bdd
    Par _alex_ dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/12/2006, 20h08
  4. [VBA]Ajout module impossible
    Par ip203 dans le forum Access
    Réponses: 1
    Dernier message: 19/05/2006, 10h19
  5. Réponses: 8
    Dernier message: 16/03/2006, 07h36

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