Informations complémentaires concernant mysql_insert_id()
Bonjour,
Je suis entrain de développer une application en PHP5 utilisant une BDD MySQL.
Dans mon application je dois développer une couche applicative de persistance en BDD et je me posais une question concernant la fonction "mysql_insert_id()"
Tout d'abord voici la fonction permettant de persister un enregistrement en base :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public function persistOneEnterprise($name,$login,$password,$logo)
{
$reqPersistOneEnterprise = 'INSERT INTO `mabase`.`Enterprise` (`Name`, `Login`, `Password`, `Logo`)
VALUES("'.$name.'","'.$login.'","'.$password.'","'.$logo.'")';
if(!@mysql_query($reqPersistOneEnterprise, $this->mysqlConnection))
{
throw new Exception('persistOneEnterprise Error '.$reqPersistOneEnterprise);
}
return mysql_insert_id();
} |
et voici comment j'appel ma fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
try{
$enterprise = new CEnterprise();
$miniWebsite = new CMiniWebsite();
$idEnterprise = $enterprise->persistOneEnterprise("MonEntreprise", "root", "root", null);
$miniWebsite->persistOneMiniWebsite($idEnterprise, 1);
}
catch (Exception $e){
echo 'Exception reçue : ', $e->getMessage(), "\n";
} |
Du fait que j'utilise une table de jointure, j'ai utilisé la fonction mysql_insert_id afin de pouvoir récupérer l'id d'un enregistrement effectué et de pouvoir l'enregistrer dans ma table de jointure.
Sachant que plusieurs utilisateurs peuvent persister en BDD en même temps je voulais savoir si il y avait un risque que les ID se mélangent.
J'espère avoir été assez clair 8-)
Merci pour votre aide :ccool: