PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

sybase_fetch_field> <sybase_fetch_array
Last updated: Fri, 22 Aug 2008

view this page in

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assocObtiene el resultado de la sentencia como una matriz asociativa

Descripción

matriz sybase_fetch_assoc ( int $resultado )

Regresa una matriz que corresponde a las filas obtenidas o FALSE si no hay mas filas.

Note: Esta función se encuentra disponible solamente cuando se usan las bibliotecas CT de Sybase y no las bibliotecas DB.

sybase_fetch_assoc() es una adaptación de sybase_fetch_row() que usa los nombre de las columnas en lugar de números enteros como indices en la matriz resultante. En caso de columnas de diferentes tablas, con el mismo nombre, éstas son expresadas como: nombre, nombre1, nombre2, ..., nombreN.

Algo por tener en cuenta es, que usando sybase_fetch_assoc() significativamente no es más lenta que usar sybase_fetch_row(), dado que provee un valor agregado.

Vea también sybase_fetch_array(), sybase_fetch_object() y sybase_fetch_row().



add a note add a note User Contributed Notes
sybase_fetch_assoc
elektrotechnik at onlinehome dot de
06-May-2004 01:33
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
jpeterso at moody dot edu
01-Jul-2003 09:51
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;
}

sybase_fetch_field> <sybase_fetch_array
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites