Estoy preparando un sistema de consultas a la base de datos que evite realizar consultas repetidas en una misma carga de página.
Entonces, tengo una función que se encarga de enviar los sql a la base de datos. Esta función, como podéis ver abajo, comprueba antes de enviarla que no se haya guardado anteriormente esa misma consulta. En caso de que ya se ahya guardado la recupera de la sesión, en caso cotnrario, la envía a Mysql y la guarda en sesión.
Todo funciona correctamente, y la función se recorre de la manera adecuada, llendo por el "if" la primera vez que ejecuta dicha consulta y llendo por el "else" la siguientes veces que intenta cargar esa consulta. El problema es que al obtener contenido de la sesión, este no es correcto, y no soy capaz de obtener los resultados.
La función es la siguiente:
Código php:
Ver original
function Consulta($sql){ if ($_SESSION["bmt_Consultas"][$sql]==null){ exit; } $_SESSION["bmt_Consultas"][$sql]=$res; } else{ $res=$_SESSION["bmt_Consultas"][$sql]; } return $res; }
Además de avisarme si alguien detecta algún error en la función me gustaría si es posible que me comentarais las alternativas a este sistema, si conocéis alguna forma mejor de acerlo, o si no es posible realizarlo de esta forma.
Gracias. Un saludo.