SunshinePHP Developer Conference 2015

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assocCarga una fila resultante de Sybase como un array asociativo

Descripción

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() es una versión de sybase_fetch_row() que utiliza como índices los nombres de columnas, en vez de enteros en el array resultante. Las columnas de tablas diferentes con los mismos nombres se devuelven como name, name1, name2, ..., nameN.

Es importante notar que utilizar la función sybase_fetch_assoc() NO es significativamente más lento que utilizar sybase_fetch_row(), y por lo contrario aporta un significativo valor añadido.

Parámetros

result

Valores devueltos

Devuelve un array que corresponde a la fila cargada, o FALSE si no hay más filas.

Notas

Nota: Esta función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.

Ver también

add a note add a note

User Contributed Notes 2 notes

up
0
elektrotechnik at onlinehome dot de
10 years ago
Very often you see constructs like this to loop thru a result set:

while ($row = sybase_fetch_assoc($result))
{
    while (current($row)) // or  while (current($row) != false)
    {
        $data = current($row);
        $key = key($row);
               
        //
        // do stuff here
        //
       
    next($row);   
    }
}

Do not use it in this way! You have to write the inner while loop this way:

while (current($row) !== false)

If you just use
while (current($row) != false)
or
while (current($row))

you could be in trouble and loose some data. In my case I had a query which contained the following statement:

datediff(dd, date1, date2) as days

Now if days computes to 0 then the two while loop examples from above will exit (because the 0 is 'seen' as false). Therefore you must use while (current($row) !== false) which will not exit if one of you data contains 0.

Hth,
rgds,
Marcus
up
0
jpeterso at moody dot edu
11 years ago
For users that want this function in other applications, use this function.  I have been using it for over a year with great success.

function sybase_fetch_assoc($query_result){
        $row = sybase_fetch_array($query_result);
        $values = "";
        if(is_array($row))
        {
        while(list($key, $val) = each($row))
            {
                $values[$key] = $val;
            }
        }
    return $values;
}
To Top