No necesitas abrir y cerrar la conexión para pasar el contenido a array asociativo, si en la misma función ya estás abriendo la sesión llama a una función antes de cerrarla, ejemplo:
Código PHP:
function miFuncion () {
mysqli_connect(...);
mysqli_query($sesion, "SET NAMES 'utf8'");
$query = mysqli_query($sesion, "SELECT * FROM tabla");
$miArray = array();
mysqliToArray($miArray, $query);
mysqli_discconect();
return miArray;
}
function mysqliToArray(&$miArray, &$query) {
for($i = 0; $i < mysqli_num_rows($query); $i ++)
$myArray[] = mysqli_fetch_array($query);
}
También tienes el siguiente método nativo:
http://php.net/manual/es/mysqli-result.fetch-all.php Código PHP:
mysqli_fetch_all(...);
Sin embargo se implementó en PHP 5.0.3, comprueba que tu versión de PHP es igual o superior para poder utilizarla.
Un cordial saludo.