Foros del Web » Programando para Internet » PHP »

contar llamdas sql

Estas en el tema de contar llamdas sql en el foro de PHP en Foros del Web. Hola: alguien tiene idea como contar cuantas llamadas sql se hicieron. Por ejemplo que salga asi 74 llamadas a la base de datos salu2...
  #1 (permalink)  
Antiguo 12/02/2009, 16:22
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
contar llamdas sql

Hola:
alguien tiene idea como contar cuantas llamadas sql se hicieron.
Por ejemplo que salga asi 74 llamadas a la base de datos

salu2
  #2 (permalink)  
Antiguo 12/02/2009, 17:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: contar llamdas sql

Puedes usar una función wrapper de mysql_query y usar un contador global:
Código php:
Ver original
  1. $counter = 0;
  2. function wrapper_mysql_query( $query, $link = null ) {
  3.       global $counter;
  4.       $counter ++;
  5.       return mysql_query( $query, $link );
  6. }

Saludos
  #3 (permalink)  
Antiguo 12/02/2009, 18:05
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: contar llamdas sql

disulpa mi ignorancia GatorV, pero como deberia usarlo en mi archivo footer.php

Última edición por destor77; 12/02/2009 a las 18:40
  #4 (permalink)  
Antiguo 12/02/2009, 18:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: contar llamdas sql

No entiendo a que te refieres.

Saludos
  #5 (permalink)  
Antiguo 12/02/2009, 19:49
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: contar llamdas sql

jajaja me parecia que no me explique bien, lo que queria decir es como uso la funcion que me pasaste, o con solo pegarla donde quiero mostrar el resultado anda? que parametros debo pasarle, etc?

salu2
  #6 (permalink)  
Antiguo 12/02/2009, 21:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: contar llamdas sql

Si lees la funcion que te deje solamente es un wrapper para mysql_query por lo que en lugar de llamar a mysql_query directamente mandas llamar a la funcion (usa los mismos parametros que mysql_query), y luego solamente imprime $counter donde quieras ver la cuenta.

Saludos
  #7 (permalink)  
Antiguo 13/02/2009, 19:25
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: contar llamdas sql

gracias gatorV tuve que hacerles una modificaciones para que se adapte a mis codigo pero ya anda, por si a alguien les sirve lo use asi:
Código php:
Ver original
  1. $counter=0;
  2. /**
  3.  * contador de consultas
  4.  *
  5.  * @param string $sql
  6.  * @return query
  7.  */
  8. function wraper($sql){
  9.     global $counter;
  10.     $counter ++;
  11.     return mysql_query($sql);
  12. }
  #8 (permalink)  
Antiguo 13/02/2009, 20:38
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: contar llamdas sql

Tremenda modificación.
  #9 (permalink)  
Antiguo 13/02/2009, 21:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: contar llamdas sql



Código PHP:
function query()
{
  
// contador interno (no global)
  
static $count 0;

  if (
func_num_args() === 0)
  {
    
// sin parametros
    
return $count;
  }

  
// argumentos...
  
$test func_get_args();

  
// consulta SQL
  
$sql array_shift($test);

  
// argumentos extra
  
foreach ($test as $key => $val)
  {
    if ( ! 
is_numeric($val))
    {
      
// cadena
      
$val "'$val'";
    }
    
$test[$key] = $val;
  }

  
// reemplazamos ? excepto \?
  
$sql preg_replace('/((?<!\\\)\?)/e''array_shift($test);'$sql);

  
// ejecutamos SQL
  
$out mysql_query($sql) or die(mysql_error());

  ++
$count;

  return 
$out;

esta función es algo mas general, y dinámica (según yo)

permite un tipo de flexibilidad mínima, fácilmente comprensible y ampliable... supongo


ejemplos
Código PHP:
// consulta simple...
$result query('SELECT * FROM tabla');

// consulta con argumentos
$result query('SELECT * FROM tabla WHERE id=?'$id);

// consulta ¿mas compleja??
$result query('SELECT * FROM users WHERE pass=? AND (nick=? OR email=?)'md5($pass), $user$user);

echo 
'Consultas realizadas: ' query(); 

espero les guste, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 14/02/2009, 09:14
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: contar llamdas sql

Cita:
Iniciado por Ronruby Ver Mensaje
Tremenda modificación.
jajjaaj si tremendas, pero como tengo configurada mi pagina modular como lo habia pasado gatorV no andaba, ya que no uso el parametro link
  #11 (permalink)  
Antiguo 14/02/2009, 17:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: contar llamdas sql

Por eso lo deje como opcional al ponerle null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.