JeuWeb - Crée ton jeu par navigateur
mysql_insert_id() - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : mysql_insert_id() (/showthread.php?tid=4449)

Pages : 1 2 3


RE: mysql_insert_id() - christouphe - 19-11-2009

(18-11-2009, 05:10 PM)Anthor a écrit : Merci QuentinC, y'en a un qui lit la doc au moins avant de l'ouvrir ^^

Citation :mysql_insert_id() retourne le dernier identifiant généré par un champ de type AUTO_INCREMENT, sur la connexion MySQL courante ou sûr la connexion spécifiée par link_identifier.

Moi aussi je lis la doc Wink mais j'ai eu des problèmes Wink


RE: mysql_insert_id() - php_addict - 19-11-2009

bonjour

une autre question toute bete, mais quand vous parlez de link_identifier c'est bien:

Citation :$link_identifier = mysql_connect("$host", "$user", "$passwd");
mysql_select_db("$bd");

mysql_query ( string $query [, resource $link_identifier ] )
mysql_close($link_identifier);

une autre question toute bête: faut t il préciser pour chaque requete le link_identifier ?

et une derniere question toute bête:

dans mon exemple ci dessus, comment est ce possible que le link_identifier soit différent pour chaque utilisateur (pour pouvoir récupérer sans probleme d'id lors d'un mysql_insert_id()


merci d'avoir lu ces questions toutes bêtes... Wink


RE: mysql_insert_id() - nicodd - 19-11-2009

Il faut préciser le $link_identifier dans le cas ou tu as plusieurs connections ouvertes à MySQL. Sinon, il prends celui de la seule connection existante.


RE: mysql_insert_id() - NicoMSEvent - 20-11-2009

Pour info, j'utilise la fonction mysql_connect et pas mysql_pconnect (p comme permanente?)
Parce que : dans les stats, ça faisait grimper exagérément le "change db" (je montait à presque 50% avec mysql_pconnect alors que maintenant avec mysql_connect : 7%)

Pour info 2 -> je ne lance jamais explicitement la connexion à la DB -> quand je lance ma première requête, la connexion se fait toute seule

Pour info 3 -> je ne ferme pas la connexion a la DB (ça se fait tout seul à du chargement de la page... c'est p-e pas propre pour certain, mais ça me convient ^^)

function OpenDB(){
global $MySqlServer;
global $MySqlLogin;
global $MySqlPass;
global $MySqlDatabase;

global $link_db;
//$link_db = mysql_pconnect ($MySqlServer, $MySqlLogin, $MySqlPass)
$link_db = mysql_connect ($MySqlServer, $MySqlLogin, $MySqlPass)
or die ("<br>".mysql_error()."<br>");
mysql_select_db($MySqlDatabase,$link_db);
}
//----------------------------------------------------------------------
function CloseDB(){
global $link_db;
mysql_close($link_db);
}
//----------------------------------------------------------------------
function RequestDB($request,$var='',$log=0){
global $link_db;
if (!$link_db){
OpenDB();
}
try{
$db=mysql_query($request,$link_db);
}
catch(Exception $e){
echo $e->getMessage();
throw new Exception('Requete SQL echouee... Veuillez contacter l\'admin');
}
return $db;
}
//----------------------------------------------------------------------
function GetLigneDB($db){
return $db?mysql_fetch_assoc($db):0;
//return $db?mysql_fetch_row($db):0;
}
//----------------------------------------------------------------------



RE: mysql_insert_id() - php_addict - 20-11-2009

etrange que tu ne ferme pas la connexion....

perso, j'ouvre une connexion au debut de la page, et la ferme en fin de page...


RE: mysql_insert_id() - Plume - 20-11-2009

Une mesure qui n'est pas indispensable en soit du fait que PHP s'occupe lui même de couper les connexions à la fin de l'exécution d'un script. En soit, c'est plutôt une excellente chose. En effet, tu ne fermeras ainsi jamais une connexion trop tôt dans une application un tantinet complexe .)


RE: mysql_insert_id() - NicoMSEvent - 20-11-2009

en fin de page, elle est (normalement, sauf config serveur spéciale) automatiquement fermée. Si je peux me passe de gérer les connexions/déconnexions de la DB, je le fais volontiers! Wink


RE: mysql_insert_id() - christouphe - 20-11-2009

Nico, tu coderai (ou a codé) en JAVA ??


RE: mysql_insert_id() - NicoMSEvent - 20-11-2009

J'ai déja un peu codé en java. (interface graphique, socket, db, applet, ...)
Mais ça remonte à il y a des années, et j'ai presque tout oublié Undecided


RE: mysql_insert_id() - QuentinC - 20-11-2009

A quoi bon fermer la connexion explicitement ? De toute façon maintenant avec PDO, on ne peut même plus.