Correcto repara2, muchas gracias. Me di cuenta ayer en una de las muchas pruebas que hice, hacía tiempo que no programaba y no tuve en cuenta el scope de las variables, y como la conexión no daba error la daba por buena.
 
Ahora esto funciona como yo quería, lo dejo por si a alguien le viene bien verlo resuelto: 
En 
private/connection.php están las variables 
$host, $user, etc. 
$fields es un array de los campos que quiero visualizar, y 
createCommaSeparatedString($fields) es una función que me devuelve el array 
$fields en valores separados por comas.  
 Código PHP:
    <?php require_once("private/connection.php") ?>
<?php
function connectDataBase(){
    global $host,$user,$pass,$base;
    $connection= mysqli_connect($host,$user,$pass,$base);
        if (mysqli_connect_errno()) {
                printf("Conexión fallida: %s\n", mysqli_connect_error());
            exit();
        }
    mysqli_set_charset($connection,"utf8");
    return $connection;
}
function closeDataBase($connection){
    mysqli_close($connection);
}
function dataSelect($table,$fields,$where){
    $connection=connectDataBase();
    $fieldsToText=createCommaSeparatedString($fields);
    $query="SELECT ".$fieldsToText;
    $query.=" FROM ".$table. " WHERE ".$where;
    echo $query;
    $result=mysqli_query($connection,$query);
    $array=mysqli_fetch_all($result,MYSQLI_ASSOC);
    mysqli_free_result($result);
    closeDataBase($connection);
    return $array;
}
?>    
  Saludos