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

search for in the

odbc_fetch_row> <odbc_fetch_into
Last updated: Fri, 22 Aug 2008

view this page in

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_objectObtém um conjunto de resultados como um objeto

Descrição

object odbc_fetch_object ( resource $result [, int $rownumber ] )

Obtém um object a partir de uma consulta ODBC. Veja o changelog abaixo para ver quando esta função esta disponível.

Parâmetros

result

O recurso do resultado de odbc_exec().

rownumber

Opcionalmente escolha o número da linha a qual obter.

Valor Retornado

Retorna um objeto que corresponde a linha obitida, ou FALSE se não houverem mais linhas.

Histórico

Versão Descrição
4.3.3 Esta função existe quando compilado com suporte a IBM DB2 ou UnixODBC.
4.3.2 Esta função existe quando compilada para o Windows.
4.0.2 Esta função existe quando compilado com suporte DBMaker.



odbc_fetch_row> <odbc_fetch_into
Last updated: Fri, 22 Aug 2008
 
add a note add a note User Contributed Notes
odbc_fetch_object
philip
22-Mar-2005 05:04
This function requires one of the following to exist: Windows, DB2, or UNIXODBC.
thorsten at rinne dot info
15-Oct-2003 11:26
odbc_fetch_object() works nice with PHP 4.3.3 under W2K with IBM DB2 V.7.2 and V.8.1:

<?php
$conn
= odbc_connect($db_name, $username, $password) or die(odbc_error_msg());
$sql = "SELECT * FROM TABLE";
$result = odbc_exec($conn, $sql);
while (
$rows = odbc_fetch_object($result)) {
    print
$rows->COLUMNNAME;
    }
odbc_close($conn);
?>
j dot a dot z at bluewin dot ch
30-Apr-2003 10:26
hey "general at maccrafters dot com"

thank you very much for your code. it saved me time!
however i extended it a bit!
---------------------------------------------
    function __odbc_fetch_object($res)
    {
        if( function_exists("odbc_fetch_object") )
            return odbc_fetch_object($res);

        $rs = array();
        $rs_obj = false;
        if( odbc_fetch_into($res, &$rs) )
        {
            foreach( $rs as $key=>$value )
            {
                $fkey = odbc_field_name($res, $key+1);
                $rs_obj->$fkey = trim($value);
            }
        }
        return $rs_obj;
    }
---------------------------------------------
cheers, jaz
h4 at locked dot org
11-Mar-2003 03:28
my 2 cents:

function data($res) {
    $obj = new stdClass();
    $data_array = array();
       
    if (!odbc_fetch_into($res, $data_array)) {
        return 0;
    }

    $num_fields = odbc_num_fields($res);

    for ($i = 0;$i < $num_fields; $i++) {
        $name = odbc_field_name($res, $i + 1);
        if (!$name) {
            return 0;
        }
           
        $obj->{$name} = $data_array[$i];
    }
       
    return $obj;
}

works fine for me (PHP 4.3.1)
charlesk at netgaintechnology dot com
23-Jan-2003 07:54
I asked one of the developers to enable this function in the CVS.  I tried it and it worked.  I didnt do anything special.  I was using a Microsoft Access ODBC driver that came with my Windows XP Pro Install.

I was using the Apache web server.

Charles
general at maccrafters dot com
05-Nov-2002 08:45
Here's a bit of code I came up with tha behaves just like mysql_fetch_object()

    function odbc_fetch_object($result)
    {
        $rs=array();
        if(odbc_fetch_into($result,&$rs))
        {
            foreach($rs as $key=>$value)
            {
    $fkey=strtoupper(odbc_field_name($result,$key+1));
                $rs_obj->$fkey = trim($value);

            }
        }
        return($rs_obj);
    }

Special thanks to previous posters for giving me a starting point for this code.
kynaston at yahoo dot com
05-Sep-2002 02:55
If you're using Masoud's code in PHP4.2+, change the fifth line to:

odbc_fetch_into($result,&$rs);

(the order of arguments have changed)
Marcus dot Karlsson at usa dot net
24-Apr-2002 07:57
It' possible to get both odbc_fetch_object() and odbc_fetch_array() to work just by removing #ifdef HAVE_DBMAKER/#endif in php_odbc.h line 216 (219) and the same in php_odbc.c line 87 (90) and 1229 (1380).

I've done this sucessfully in the PHP 4.2.0 release using ODBC towards a MySQL database.

I really can't understand why the #ifdef is there from the beginning, but they do have their reasons.

These were the files i "patched"
/* $Id: php_odbc.c,v 1.120.2.1 2002/04/08 22:21:30 sniper Exp $ */
/* $Id: php_odbc.h,v 1.45.2.1 2002/03/12 02:27:47 sniper Exp $ */
masuod_a at hotmail dot com
22-Feb-2002 09:29
This function not availible in PHP 4.1.1 , you can try this :

if (function_exists(odbc_fetch_object))
 return;
function odbc_fetch_object($result, $rownumber=1) {
 $rs=array();
 odbc_fetch_into($result, $rownumber,$rs);
 foreach ($rs as $key => $value) {
   $fkey=strtolower(odbc_field_name($result, $key+1)); 
   $rs_obj->$fkey = $value;
 }
 return $rs_obj;
}
if you wanna use this function in a loop  you must set rownumber parameter
you can't use this function like :
 while ($myobj=odbc_fetch_object($res)) {
 ....
}

odbc_fetch_row> <odbc_fetch_into
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites