Mysql_insert_id() -> Problme -> A l'aide

Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006 - 3 févr. 2004 à 23:50
Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006 - 5 févr. 2004 à 11:12
J'ai une fonction d'exécution de requêtes avec déconnexion automatique (pour faire une connexion la moins lonque possible).

<?php
function query_db($query){
//On se connecte sur le serveur
$connect=mysql_connect('leserveur','lelogin','lemotdepasse');
//On séléctionne la BDD
mysql_select_db('labase');
//On effectues la requête
$result=mysql_query($query) 
//On se déconnecte
mysql_close($connect);
//On renvoie le résultat
return $result;
}
?>


J'aimerais pouvoir récupérer la valeur AUTO_INCREMENT créée pa MySQL.
D'habitude, on ferait mysql_insert_id, mais là, la connexion étant fermée, ça renvoie '0' :sad) .

Merci de m'aider.

3 réponses

musco Messages postés 15 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 6 avril 2004
4 févr. 2004 à 01:47
met ce code apres:
[code]
$result=mysql_query($query);
if ($result){//si la requete c'est exucete sans erreur
$numautocree=mysql_insert_id();//recuper l'id cree
}
//On se déconnecte
mysql_close($connect);
}
Musco
0
musco Messages postés 15 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 6 avril 2004
4 févr. 2004 à 01:53
met ce code apres:
$result=mysql_query($query);
$numautocree='-1';
if ($result){//si la requete c'est exucete sans erreur
$numautocree=mysql_insert_id();//recuper l'id cree
}
//On se déconnecte
mysql_close($connect);
if($numautocree=='-1') //si pas d'id cree
   echo "lenregistrement ne s'est pas effectué pas d'id";
else  //on affiche l'id cree
  echo "l'id du nouvel enregistrment est :".$numautocree;
}

Musco
0
Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006
5 févr. 2004 à 11:12
Merci pour ton aide :) ,
Le problème est que je ne veux pas écrire l'ID sur la page, je veux le récupérer pour l'utiliser. Ta première idée ne me convient pas puisque mon code est une fonction.Mais ne cherche plus, j'ai trouvé :

<?php
function query_db($query){
//On se connecte sur le serveur
$connect=mysql_connect('leserveur','lelogin','lemotdepasse') or die("Impossible de se connecter sur le serveur : \n
".mysql_errno()." : ".mysql_error()."\n
");
//On séléctionne la BDD
mysql_select_db('labase') or die("Impossible de se connecter à la base de données : \n
".mysql_errno()." : ".mysql_error()."\n
");
//On effectues la requête
$result=mysql_query($query) or die ("Impossible d'effectuer la requête : \n
".mysql_errno()." : ".mysql_error()."\n
");
//Si la requête est d'un type "INSERT"
if(substr($query,0,6)=="INSERT"){
//On enregistre la valeur AUTO_INCREMENT attribuée
$id=mysql_insert_id();
}
//On se déconnecte
mysql_close($connect);
//Si l'id n'a aucune valeur
if($id==''){
//On renvoie le résultat de la requête
return $result;
//Sinon
} else {
//On renvoie l'id'
return $id;
}
}
?>
0
Rejoignez-nous