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

Langage PHP Discussion :

Envoi de données dans une table MySQL


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Envoi de données dans une table MySQL
    Voilà, j'ai ce message d'erreur qui apparait:

    Warning: mysqli_query() expects parameter 3 to be long, string given in C:\wamp\www\WIPinterface\INSERT3.php on line 17
    impossible!!

    Voici le code, si vous avez besoin d'autres données, faites signes.

    D'avance merci!!


    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
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>INSERT3.php</title>
    </head>
    <body>
    <br>
    <?php include('WITP.inc');
    $cnx=mysqli_connect($host,$user,$password)or die("what else?");
    $open=mysqli_select_db($cnx,'wip')or die ("what??");
    $req=mysqli_query($cnx,$open,"INSERT INTO game (Game_name,Max_players,
    Blue_name,Blue_pass, Red_name, Red_pass,Number_turns, Duration_turns)
    VALUES
    ({$_POST['GN']},{$_POST['MaxP']},{$_POST['BN']},
    {$_POST['GPB']}, {$_POST['RN']},{$_POST['GPR']},
    {$_POST['NumT']},{$_POST['DurT']})
    ")or die ('impossible!!');
    header("Location: page4.php");
    ?>
    </body>
    </html>

  2. #2
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Bonsoir,

    Peux-tu éditer ton post et utiliser les balises code... merci.

    Je crois que ta requête est mal écrite... qu'est-ce que les accolades viennent faire ici ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonsoir et désolé pour les balises, je ne les avais pas vu.

    Donc les accolades semblent être necessaires d'après le bouquin que j'ai...

    (Au final, ce livre ne m'aura pas était très utile puisqu'il semble bourré d'erreurs...)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai fait un test sans les accolades et j'obtient ceci:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\WIPinterface\INSERT3.php on line 14

  5. #5
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    C'est sûrement parce que tu as écrit ta requête sur plusieurs lignes. Soit tu la mets sur une (peu lisible si elle est longue), soit tu utilises la heredoc, soit et c'est la solution que je préfère, tu la concatènes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req  = 'SELECT xx, xxx, xxxx ';
    $req .= 'FROM yyyyy ';
    $req .= 'WHERE zzz="ooo"';

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bon, j'ai fait comme tu me l'indiquais et voilà la réponse:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\WIPinterface\INSERT3.php on line 11


    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>INSERT3.php</title>
    </head>
    <body>
    <br>
    <?php include('WITP.inc');
    $cnx=mysqli_connect($host,$user,$password)or die("what else?");
    $open=mysqli_select_db($cnx,'wip')or die ("what??");
    $req=mysqli_query($cnx,$open,"INSERT INTO game (Game_name,Max_players,Blue_name,Blue_pass, Red_name, Red_pass,Number_turns, Duration_turns)VALUES({$_POST['GN']},{$_POST['MaxP']},{$_POST['BN']},{$_POST['GPB']},{$_POST['RN']},{$_POST['GPR']},{$_POST['NumT']},{$_POST['DurT']})")or die ('impossible!!');
    header("Location: page4.php");
    ?>
    </body>
    </html>

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour,

    Je ne comprends pas bien, mais tu nous dit avoir une erreur ligne 11
    alors je compte et la ligne 11 c 'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $cnx=mysqli_connect($host,$user,$password)or die("what else?");
    Ah mais tu te conecte sans donner le nom de ta database

    Tu devrais avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $cnx=mysqli_connect($host,$user,$password,'totomachin')or die("what else?");

  8. #8
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Bonjour,

    FoxLeRenard > Je ne suis pas trop d'accord... la sélection à la base de données se fait sur la ligne du dessous.

    Je crois que ce n'est pas la ligne incriminée, MacZerbe n'a pas dû poster le début du script.

    MacZerbe peux-tu poster le début du script ?

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Huntress Voir le message
    Bonjour,

    FoxLeRenard > Je ne suis pas trop d'accord... la sélection à la base de données se fait sur la ligne du dessous.

    Je crois que ce n'est pas la ligne incriminée, MacZerbe n'a pas dû poster le début du script.

    MacZerbe peux-tu poster le début du script ?
    OK avec toi, il faudrait avoir le PHP complet, cependant, la syntaxe est bien celle que j'ais indiquée, (voir doc officielle) par ailleur tu vois que le texte
    d'erreur correspond a un manque de pointeur

  10. #10
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ah oui exact, en vérifiant j'ai dû oublier le "i" et retomber sur le mysql_connect sans même m'en rendre compte ... ceci dit ce paramètre est optionnel...

    Edit >

    Bon bon bon, je croyais que tu avais corrigé mais en fait non... toujours ces accolades dans ta requête, de plus tu utilises mal la fonction mysqli_query()

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

Discussions similaires

  1. Insertion des données dans une table mysql
    Par joulive dans le forum ASP
    Réponses: 6
    Dernier message: 15/04/2010, 20h55
  2. [MySQL] Enregistrement da données dans une table Mysql
    Par xunil2003 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/03/2010, 17h27
  3. Réponses: 2
    Dernier message: 25/05/2009, 09h38
  4. [MySQL] envoi de données dans une table
    Par suya95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/06/2006, 15h48
  5. Problème de récupérations de données dans une table mysql
    Par Helpine dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/03/2006, 19h07

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