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!