Compter le nombre de requete executée, mais que compter ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compter le nombre de requete executée, mais que compter ?

par bunk » 25 févr. 2009, 20:50

Merci de ton aide.

par @rthur » 25 févr. 2009, 20:33

Alors la façon la plus simple de le faire est celle-ci:
<?php
// Début de ta page
$nbrequete=0;

/*
là tu mets le code que tu veux...
*/

$sql = "SELECT champ1 FROM table WHERE id='$ip'";
$req = mysql_query($sql);
$nbrequete++; // On incrémente $nbrequete pour compter le nombre de requètes exécutées

$req = mysql_fetch_assoc($req[0]);
$nb = mysql_numrows($req[0]);

/*
là tu mets le code que tu veux...
*/

// Fin de page
print $nbrequete." requêtes SQL exécutées";
?> 
La commande $nbrequete++; doit être mise après chaque appel à mysql_query()

par bunk » 25 févr. 2009, 20:26

Elle me sert à compter :
<?php

function compte_requete(){
$nbrequete++;
return $nbrequete;
}

?>
Cette partie la fonctionne mais ce que je me demande par rapport à l'exécution du code c'est si en faisant ceci : $nb = mysql_numrows($req[0]); je devrais ou non incrémenter $nbrequete ou si ce n'était pas considéré comme une requête car il ne reexécute pas $req mais utilise le résultat de $req.

Je sais pas comment formuler autrement. Est-ce plus clair ?

par @rthur » 25 févr. 2009, 20:14

Bonjour,

Je ne comprends pas ce que tu cherches à faire...
A quoi sert la fonction compte_requete() ?

Compter le nombre de requete executée, mais que compter ?

par bunk » 25 févr. 2009, 19:09

Bonsoir,

J'ai une petite fonctionne qui fait +1 lors de l'exécution d'une requête mysql_query(). Mais j'ai un doute sur le fait que je compte bien toute les requetes. Voici un exemple de code :
<?php

$sql = "SELECT champ1 FROM table WHERE id='$ip'";
$req = array(mysql_query($sql),compte_requete());

$req = mysql_fetch_assoc($req[0]);
$nb = mysql_numrows($req[0]);

?>

Ne faudrait t'il pas que je mette mon compteur sur $req1 et $nb ?
Merci