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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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


Merci pour votre aide