Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/05/2013, 05:03
Avatar de kikerrobles
kikerrobles
 
Fecha de Ingreso: mayo-2013
Ubicación: Oviedo
Mensajes: 17
Antigüedad: 11 años
Puntos: 2
Respuesta: Error si llamo dentro de una función

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;

    
$connectionmysqli_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