Maison > développement back-end > tutoriel php > Comment puis-je insérer en toute sécurité une ligne dans PHP/MySQL et récupérer son identifiant généré automatiquement ?

Comment puis-je insérer en toute sécurité une ligne dans PHP/MySQL et récupérer son identifiant généré automatiquement ?

Barbara Streisand
Libérer: 2024-12-10 21:29:09
original
569 Les gens l'ont consulté

How Can I Safely Insert a Row in PHP/MySQL and Retrieve Its Auto-Generated ID?

PHP/MySQL Insérer une ligne et obtenir « id » en toute sécurité

L'insertion d'une nouvelle ligne et la récupération de son champ « id » généré automatiquement peuvent être une étape critique dans les opérations de base de données . Même si le simple fait d'insérer une ligne et de l'interroger peut suffire, cela présente un problème potentiel d'enregistrements en double. Pour garantir la fiabilité, explorons des moyens efficaces pour résoudre ce défi.

Utiliser mysqli_insert_id()

La fonction mysqli_insert_id() est une excellente solution pour obtenir l'ID du enregistrement nouvellement inséré sans aucune condition de concurrence. C'est une méthode efficace et simple qui résout le problème sans effort.

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
Copier après la connexion

Méthode MySQL LAST_INSERT_ID()

Une autre approche utilise la méthode LAST_INSERT_ID() de MySQL, vous permettant de effectuez plusieurs insertions et récupérez « l'identifiant » en une seule requête. Cette approche garantit la cohérence et évite toute situation de concurrence potentielle.

mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
Copier après la connexion

Note d'avertissement

Il est important de se rappeler que chaque connexion MySQL maintient un suivi d'identification distinct, éliminant ainsi le risque de conflits d’identité. Cependant, il est essentiel d'utiliser ces techniques pour se prémunir contre des problèmes potentiels et maintenir l'intégrité de vos données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal