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 :

Récupérer l'identifiant de la dernière insertion [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é
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 80
    Par défaut Récupérer l'identifiant de la dernière insertion
    Bonjour,

    S'il vous plaît comment récupérer l'identifiant de la dernière insertion mysqli
    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
     
    class RaviKoQr
    {
      public $server = "localhost";
      public $user = "root";
      public $pass = "";
      public $dbname = "kalabante";
    	public $conn;
      public function __construct()
      {
      	$this->conn= new mysqli($this->server,$this->user,$this->pass,$this->dbname);
      	if($this->conn->connect_error)
      	{
      		die("connection failed");
      	}
      }
     	public function insertQr($qrUname,$final,$qrimage,$qrlink)
     	{
    		$sql = "INSERT INTO qrcodes(qrUsername,qrContent,qrImg,qrlink) VALUES('$qrUname','$final','$qrimage','$qrlink')";
    		$query = $this->conn->query($sql); 
    		return $query;
     
     
     	}
     	public function displayImg()
     	{
     		$sql = "SELECT qrimg,qrlink from qrcodes where qrimg='$qrimage'";
     
     	}
    }
    $meravi = new RaviKoQr();
    Merci d'avance pour vos réponses!

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 80
    Par défaut
    J'avais déjà consulter le manuel php et j'ai essayé ce code :
    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
     
    <?php 
    class RaviKoQr
    {
      public $server = "localhost";
      public $user = "root";
      public $pass = "";
      public $dbname = "kalabante";
    	public $conn;
      public function __construct()
      {
      	$this->conn= new mysqli($this->server,$this->user,$this->pass,$this->dbname);
      	if($this->conn->connect_error)
      	{
      		die("connection failed");
      	}
      }
     	public function insertQr($qrUname,$final,$qrimage,$qrlink)
     	{
    		$sql = "INSERT INTO qrcodes(qrUsername,qrContent,qrImg,qrlink) VALUES('$qrUname','$final','$qrimage','$qrlink')";
    		$query = $this->conn->query($sql); 
     
    		$idqrcode=$this->conn->insert_id;
     
    		return $query;
     
     
     	}
     	public function displayImg()
     	{
     		$sql = "SELECT qrimg,qrlink from qrcodes where qrimg='$qrimage'";
     
     	}
    }
    $meravi = new RaviKoQr();
    J'ai eu un message d'erreur pour récupérer l'identifiant dans un autre fichier
    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
     
        <?php 
    	include "meRaviQr/qrlib.php";
    	include "config.php";
    	if(isset($_POST['create']))
    	{
    		$qc =  $_POST['qrContent'];
    		$qrUname = $_POST['qrUname'];
    		$qrImgName = "meravi".rand();
    		if($qc=="" && $qrUname=="")
    		{
    		  echo "<script>alert('Please Enter Your Name And Msg For QR Code');</script>";
    		}
    		elseif($qc=="")
    		{
    		  echo "<script>alert('Please Enter QR Code Msg');</script>";
    		}
    		elseif($qrUname=="")
    		{
    		  echo "<script>alert('Please Enter Your Name');</script>";
    		}
    		else
    		{
    			$dev = " ...Develop By Ravi Khadka";
    			$final = $qc.$dev;
    			$qrs = QRcode::png($final,"userQr/$qrImgName.png","H","3","3");
    			$qrimage = $qrImgName.".png";
    			$workDir = $_SERVER['HTTP_HOST'];
    			$qrlink = $workDir."/qrcode".$qrImgName.".png";
    			$insQr = $meravi->insertQr($qrUname,$final,$qrimage,$qrlink);
    			$idqrcode=$meravi->insert_id;
    			if($insQr==true)
    			{
    			  echo "<script>alert('Thank You $qrUname. Success Create Your QR Code'); window.location='index.php?success=$qrimage'.$idqrcode;</script>";
     
    			}
    			else
    			{
    			  echo "<script>alert('cant create QR Code');</script>";
    			}
    		}
    	}
    Message d'erreur
    Nom : qrcode.jpg
Affichages : 192
Taille : 74,3 Ko

    Les fichiers sources du dépôt sont disponibles à cette adresse : https://github.com/meravi/qr-scanner-generator/

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 524
    Par défaut
    Salut,

    Normal que tu reçois cette erreur, parce que ta classe ne gère nul part la propriété insert_id.

    Ajoutes une fonction en public dans ta classe comme suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public function getLastInsertid(){return $this->conn->insert_id;}
    puis dans la page où tu fais appel à ton objet tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $idqrcode=$meravi->getLastInsertid();

  5. #5
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 80
    Par défaut
    Salut j'ai ajouté la fonction à l'intérieur de la classe
    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
     
    <?php 
    class RaviKoQr
    {
    	public $server = "localhost";
    	public $user = "root";
    	public $pass = "";
    	public $dbname = "kalabante";
    	public $conn;
     
    	public function __construct()
    	{
    		$this->conn= new mysqli($this->server,$this->user,$this->pass,$this->dbname);
    		if($this->conn->connect_error)
    		{
    			die("connection failed");
    		}
    	}
     	public function insertQr($qrUname,$final,$qrimage,$qrlink)
     	{
    		$sql = "INSERT INTO qrcodes(qrUsername,qrContent,qrImg,qrlink) VALUES('$qrUname','$final','$qrimage','$qrlink')";
    		$query = $this->conn->query($sql); 
    		return $query;
     
     	}
     
    	public function getLastInsertid(){
    		return $this->conn->insert_id;
    	} 
     
     
     	public function displayImg()
     	{
     		$sql = "SELECT qrimg,qrlink from qrcodes where qrimg='$qrimage'";
     
     	}
    }
    $meravi = new RaviKoQr();
    Et j'ai fais l'appel
    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
     
    	include "meRaviQr/qrlib.php";
    	include "config.php";
    	if(isset($_POST['create']))
    	{
    		$qc =  $_POST['qrContent'];
    		$qrUname = $_POST['qrUname'];
    		$qrImgName = "meravi".rand();
    		if($qc=="" && $qrUname=="")
    		{
    		  echo "<script>alert('Please Enter Your Name And Msg For QR Code');</script>";
    		}
    		elseif($qc=="")
    		{
    		  echo "<script>alert('Please Enter QR Code Msg');</script>";
    		}
    		elseif($qrUname=="")
    		{
    		  echo "<script>alert('Please Enter Your Name');</script>";
    		}
    		else
    		{
    			$dev = " ...Develop By Ravi Khadka";
    			$final = $qc.$dev;
    			$qrs = QRcode::png($final,"userQr/$qrImgName.png","H","3","3");
    			$qrimage = $qrImgName.".png";
    			$workDir = $_SERVER['HTTP_HOST'];
    			$qrlink = $workDir."/qrcode".$qrImgName.".png";
    			$insQr = $meravi->insertQr($qrUname,$final,$qrimage,$qrlink);
     
    			$idqrcode=$meravi->getLastInsertid();
     
    			if($insQr==true)
    			{
    			  echo "<script>alert('Thank You $qrUname. Success Create Your QR Code'); window.location='index.php?success=$qrimage'.$idqrcode;</script>";
     
    			}
    			else
    			{
    			  echo "<script>alert('cant create QR Code');</script>";
    			}
    		}
    	}
    Et quand j'essaye de générer le qr code rien ne se passe!

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 524
    Par défaut
    Salut,

    L'insertion se fait bien dans la base ?

    Ajoutes un echo pour vérifier la valeur de $idqrcode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if($insQr==true){
       echo 'Dernier id inséré :'.$idqrcode;
      ....
    }

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/08/2009, 15h43
  2. Récupérer l'identifiant lors d'un INSERT
    Par novices dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/08/2006, 10h03
  3. [WD9] Récupérer l'identifiant
    Par kuranes dans le forum WinDev
    Réponses: 2
    Dernier message: 14/12/2005, 10h23
  4. Récupérer les identifiants de la DB avec SQL.
    Par Cygnus Saint dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2005, 07h15
  5. récupérer valeur d'un ID après insertion
    Par rikidi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/08/2003, 22h21

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