/*
* Este método mostrará datos de una consulta de varias tablas
* @param string $query sql query
* @param integer $tipo El tipo de query que se ejecutará
* @param string $error Para mostrar un error diferente al default de MySQL
* @return $arrayRetorno Tiene el resultado, la cantidad de registros, un array con los registros y el último indexado
*/
function query($query, $tipo=0, $trace=0, $error='<br /><b>Query ejecutado incorrectamente<br />') {
$this->result = mysql_query($query);// or die($x = mysql_error().$error.$query.'</b>');
if ($this->result==0){
/*
* Valido si es error por entrada duplicada en campo único
*/
echo '<div align="center">
Registro <strong>'.$err[1].'</strong> en el campo <strong>'.$err[3].'</strong> ya existe en la Base de Datos
<br /><a href="javascript:history.back();">Volver</a>
</div>';
} else {
echo '<div align="center">'.$error.mysql_error().$query.'</div>'; }
} else {
/*
* Dependiendo del tipo de consulta SQL escojida extraemos las variables
*/
if ($this->result!=1){ // ESTA PACHOTADA ES OBLIGATORIA, TENGO GANAS DE LLORAR
switch($tipo)
{
case 'SELECT':
case 0:
$this->ultimo = '';
break;
case 'INSERT':
case 1:
$this->numrows = '';
$this->arrayRegistros = '';
break;
case 'UPDATE':
case 'DELETE':
case 'ALTER':
case 2:
case 3:
case 4:
$this->numrows = '';
$this->arrayRegistros = '';
$this->ultimo = '';
break;
case 'SHOW TABLES':
case 'OPTIMIZE TABLE':
case 'TRUNCATE TABLE':
case 5:
case 6:
case 7:
$this->numrows = '';
break;
}
}
/*
* Estos son todos los datos que se pueden extraer de un query
* Acá lo que se hace es devolverlo todo en un array
*/
$arrayRetorno = array($this->result, $this->numrows, $this->arrayRegistros, $this->ultimo);
if ($trace==1)
{
debug_print_backtrace();
}
return $arrayRetorno;
}
}