liberer la memoire apres un inse rt ou update ?

Le
Jean-Francois Ortolo
Bonjour

Je fais des update et des insert:

unset($res);
$res = @mysql_query("INSERT ou UPDATE ");
if(!$res) {
echo "message d'erreur";
exit;
}

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )

Merci beaucoup de vos réponses.

Bien à vous.

Amicalement.

Jean-François Ortolo

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickael Wolff
Le #8930

unset($res);
$res = @mysql_query("INSERT ou UPDATE ...");
if(!$res) {
echo "message d'erreurn";
exit;
}


Pourquoi libères-tu avant ?
Si tu fais un exit ici, fais un die, c'est équivalent à echo + exit.

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )


Oui, mais après avoir exploité les résultats, hein ;)

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Alves Michael
Le #8923
Bonjour

Je fais des update et des insert:

unset($res);
$res = @mysql_query("INSERT ou UPDATE ...");
if(!$res) {
echo "message d'erreurn";
exit;
}

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )



Tu ne dois utiliser mysql_free_result() que pour libérer les ressources
créées à partir des requêtes de types SELECT, SHOW, DESCRIBE, EXPLAIN.

Jean-Francois Ortolo
Le #8389
Mickael Wolff wrote:


unset($res);
$res = @mysql_query("INSERT ou UPDATE ...");
if(!$res) {
echo "message d'erreurn";
exit;
}



Pourquoi libères-tu avant ?
Si tu fais un exit ici, fais un die, c'est équivalent à echo + exit.



Je ne libère pas la mémoire avant.

Je me contente de faire en sorte que la variable $res ne soit pas
définie avant le mysql_query( ), par habitude de maniaque de la propreté
du code.

Quant à exit au lieu de die, la seule différence est le message
paramètre de die, moi j'envoie ce message avant avec echo. Toujours le
codeur maniaque.


Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )



Oui, mais après avoir exploité les résultats, hein ;)



Merci beaucoup.

Je croyais, que mysql_free_result, ne concernait que les
mysql_query() d'instructions SQL SELECT, qui alimentent la mémoire,
parfois de façon conséquente. Encore que réellement, c'est plutôt les
fonctions mysql_fetch... et apparentées qui occupent la mémoire, mais bon...

Donc, je vais pouvoir nettoyer la mémoire systématiquement, après
des INSERT ou des UPDATE. Chouette, j'ai la conscience tranquille,
maintenant.

Merci beaucoup pour votre réponse.

Bien à vous.

Amicalement.

Jean-François Ortolo

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com


Alves Michael
Le #8387

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )


Oui, mais après avoir exploité les résultats, hein ;)



Il n'y a pas grand chose à exploiter après un INSERT ou un UPDATE. La
doc PHP indique que mis à part les requêtes de types SELECT, SHOW,
DESCRIBE, EXPLAIN le mysql_free_result n'est pas nécéssaire.


Jean-Francois Ortolo
Le #8386
Alves Michael wrote:

Bonjour

Je fais des update et des insert:

unset($res);
$res = @mysql_query("INSERT ou UPDATE ...");
if(!$res) {
echo "message d'erreurn";
exit;
}

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT,
libérer la mémoire en faisant un: mysql_free_result($res) après les
mysql_query( )



Tu ne dois utiliser mysql_free_result() que pour libérer les ressources
créées à partir des requêtes de types SELECT, SHOW, DESCRIBE, EXPLAIN.



Bonjour Monsieur

Merci beaucoup pour votre réponse.

Bien à vous.

Amicalement.

Jean-François Ortolo

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com


Mickael Wolff
Le #8384

Il n'y a pas grand chose à exploiter après un INSERT ou un UPDATE. La
doc PHP indique que mis à part les requêtes de types SELECT, SHOW,
DESCRIBE, EXPLAIN le mysql_free_result n'est pas nécéssaire.


Si j'étais de mauvaise fois, je m'en sortirais avec une pirouette en
disant que c'était exactement ce que je voulais dire par « exploitation
du résultat » ;) Mais effectivement, je libérais true ou false de mes
mysql_query systématiquement. Ce qui est donc une erreur.

Merci de la correction !

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

John GALLET
Le #8383
Bonjour,

Je voudrais savoir s'il faut aussi pour les UPDATE et INSERT, libérer
la mémoire en faisant un: mysql_free_result($res) après les mysql_query( )


Non ça n'a pas de sens. (Re)lire plus particulièrement le point 9.4 du
cours que je diffuse sur http://www.saphirtech.com/cours_php.html

(Ducros, décarcasse, toussa ;-)...)

C'est aussi pour cette raison que mysql_num_rows() accepte en argument un
buffer de résultats renvoyé par mysql_query() et que mysql_affected_rows()
accepte en argument le handler de connexion.

a++;
JG

Publicité
Poster une réponse
Anonyme