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 :

mysqli_insert_id() retourne 0 après un INSERT [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut mysqli_insert_id() retourne 0 après un INSERT
    Bonjour tout le monde,

    Lorsque un membre poste un message sur la messagerie de mon site, mon code envoi un email aux autres membres afin de leur prévenir qu'un nouveau message a été envoyé. Dans cet email, les membres peuvent cliquer sur un lien qui doit les diriger directement depuis le nouveau message envoyé dans la messagerie. Pour cela, j'ai besoin du dernier numéro ID du dernier message afin que les membres soit directement redirigé sur ce dernier message. Donc, j'ai utilisé la fonction mysqli_insert_id() qui devrait normalement me retourner le numéro ID (AUTO_INCREMENT) qui me servira dans le lien dans l'email. Mais voilà que je peux faire tout ce que je veux, mysqli_insert_id() me retourne continuellement 0. Pourtant je n'ai pas d'autres requètes avant mon INSERT, alors je vous avoue que je ne comprends pas trop où est le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (mySqli_query(CON_DB,'INSERT INTO message VALUES ("AUTO_INCREMENT", '.$id_user.', CURRENT_TIMESTAMP, "'.$msg.'")')) {
    	$dernierMsg = mysqli_insert_id(CON_DB);
    	echo $dernierMsg;
    }
    Quelqu'un peut m'aider à comprendre ce qui ne va pas?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    après chaque requête INSERT, voyez-vous bien le nouvel enregistrement dans la table ? avec un identifiant différent des autres ?

  3. #3
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut
    Oui, les enregistrements fonctionnent super !
    On peut voir les messages que j'ai envoyé comme test ICI au bas de la page.
    Tout fonctionne super bien, sauf mysqli_insert_id()

    Nom : db1.jpg
Affichages : 197
Taille : 53,5 Ko

  4. #4
    Membre émérite
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 57
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Par défaut
    Citation Envoyé par RinaBK Voir le message
    Tout fonctionne super bien, sauf mysqli_insert_id()
    Et si tu passes par une variable pour ta connexion, plutôt que par une constante ?

  5. #5
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut
    Citation Envoyé par Paraffine Voir le message
    Et si tu passes par une variable pour ta connexion, plutôt que par une constante ?
    Oh ! Désolée... En effet pour l'exemple j'ai mis une consente, mais en réalité c'est une fonction. Effectivement, pour mon exemple j'aurais du mettre : cddb()

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonsoir,
    On est bien sur que id est primary key dans la table ?

  7. #7
    Membre émérite
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 57
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Par défaut
    Citation Envoyé par RinaBK Voir le message
    Oh ! Désolée... En effet pour l'exemple j'ai mis une constante, mais en réalité c'est une fonction. Effectivement, pour mon exemple j'aurais du mettre : cddb()
    Puisque l'insertion fonctionne, que la colonne est bien une clé primaire avec un auto-incrément, j'ai l'impression qu'il ne reste plus que cette connexion à se mettre sous la dent ; quel est le code de ta fonction ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/07/2005, 17h37
  2. Récupération de l'id après un Insert
    Par faayy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2005, 11h57
  3. Redirect de la page après un insert/update/delete
    Par mchicoix dans le forum XMLRAD
    Réponses: 5
    Dernier message: 25/02/2005, 09h31
  4. Réponses: 9
    Dernier message: 07/09/2004, 11h12
  5. [IB6] mon serveur crash apres des insert en série...
    Par Rmotte dans le forum Débuter
    Réponses: 11
    Dernier message: 27/05/2004, 14h53

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