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 :

Le code m'empêche d'afficher la page


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut Le code m'empêche d'afficher la page
    Bonjour!
    J'ai écrit un code PHP pour enregistrer des données dans une table:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $base = mysql_connect ('XXX.net','XXX','XXX');
    mysql_select_db ('Base_donnees', $base);
     
    $sql = 'INSERT INTO Groupes VALUES("", "'.mysql_escape_string($_POST['Nom']).'", "'.mysql_escape_string($_POST['Mail']).'", "'.mysql_escape_string($_POST['Admin']).'", "'.mysql_escape_string($_POST['Mdp']).'")';
    mysql_query($sql) or die('Erreur SQL!'.$sql.'<br />'.mysql_error());
     
    $query = "SELECT LAST_INSERT_ID()";
    $result = mysql_query($query);
    ?>
    J'essaie de récupérer le auto_increment généré par cet enregistrement...
    Et le code HTML débute tout de suite après.

    Est-ce que vous êtes capable de voir ce qui cloche? J'ai passé la journée sur mon projet, je vois flou hihihi!

    Merci de votre précieuse aide comme à l'habitude!!

  2. #2
    Membre très actif Avatar de tim974
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 175
    Par défaut
    Salut, il n'y a pas de query a faire pour le dernier ID, il s'agit d'une fonction PHP à faire appel, tout simplement.

    http://www.php.net/manual/fr/functio...-insert-id.php

  3. #3
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Donc je n'aurais qu'à faire:

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $base = mysql_connect ('XXX.net','XXX','XXX');
    mysql_select_db ('Base_donnees', $base);
     
    $sql = 'INSERT INTO Groupes VALUES("", "'.mysql_escape_string($_POST['Nom']).'", "'.mysql_escape_string($_POST['Mail']).'", "'.mysql_escape_string($_POST['Admin']).'", "'.mysql_escape_string($_POST['Mdp']).'")';
    mysql_query($sql) or die('Erreur SQL!'.$sql.'<br />'.mysql_error());
     
    $numero = SELECT LAST_INSERT_ID();
    ?>

    ??

  4. #4
    Membre très actif Avatar de tim974
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 175
    Par défaut
    As tu pris la peine de lire le lien ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $numero = mysql_insert_id();
    A conditions :
    mysql_insert_id() convertit le type de valeur retourné par la fonction C de MySQL C mysql_insert_id() en type PHP long (appelé int en PHP). Si votre colonne de type AUTO_INCREMENT est une colonne de type BIGINT, la valeur retournée par mysql_insert_id() sera incorrecte. À la place, utilisez la fonction interne MySQL LAST_INSERT_ID() dans une requête SQL.
    J'aimerais rajouter que ton premier code était incomplet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "SELECT LAST_INSERT_ID()";
    $result = mysql_query($query);
    Ton select doit se faire sur une table.
    Ton $result contient la réponse, mais tu ne pourras pas l'avoir comme ça, il s'agit d'un mysql_query donc, il te faut le traiter comme un array. Ou tu utilises mysql_result.

  5. #5
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Merci, je vais réessayer dès ce soir.

    J'ai vu le lien, mais tous les manuels PHP j'ai bien de la difficulté à les comprendre. Moi je cherche à stocker la valeur dans une variable et l'utiliser avec un echoe dans la page.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Il suffit d'appliquer bêtement l'exemple de la doc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $base = mysql_connect ('XXX.net','XXX','XXX');
    mysql_select_db ('Base_donnees', $base);
     
    $sql = 'INSERT INTO Groupes VALUES("", "'.mysql_escape_string($_POST['Nom']).'", "'.mysql_escape_string($_POST['Mail']).'", "'.mysql_escape_string($_POST['Admin']).'", "'.mysql_escape_string($_POST['Mdp']).'")';
    mysql_query($sql) or die('Erreur SQL!'.$sql.'<br />'.mysql_error());
     
    $last_id = mysql_insert_id();
    echo $last_id;
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. code 500 retourné alors que la page s'affiche normalement
    Par johnny-57 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 6
    Dernier message: 06/09/2013, 15h13
  2. wampserver affiche le code PHP au lieu de la page
    Par floriake dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2013, 19h10
  3. Code php qui s'affiche sur ma page
    Par lebanner82 dans le forum Langage
    Réponses: 4
    Dernier message: 06/03/2013, 14h20
  4. Code javascript qui s'affiche sur ma page html
    Par Thomas77380 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/04/2011, 13h13
  5. Afficher une page HTML à partir de code HTML
    Par lilou77 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 18/01/2007, 11h52

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