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, 18 Jul 2008

view this page in

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object — Scarica una riga da un risultato come oggetto

Descrizione

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

Scarica un oggetto da una query ODBC. Vedere nel successivo log delle modifiche per sapere quando questa funzione è disponibile.

Elenco dei parametri

result

Risorsa risultato da odbc_exec().

rownumber

Opzionale, indica quale nnumero di riga recuperare.

Valori restituiti

Restituisce un oggetto corrispondente alla riga scaricata, oppure FALSE se non vi sono righe successive.

Log delle modifiche

Versione Descrizione
4.3.3 La funzione è disponibile nella vesione compilata con il supporto per IBM DB2 o UnixODBC.
4.3.2 Questa funzione esiste nella versione per Windows.
4.0.2 Questa funzione esiste nella versione compilata con il supporto DBMaker.



odbc_fetch_row> <odbc_fetch_into
Last updated: Fri, 18 Jul 2008
 
add a note add a note User Contributed Notes
odbc_fetch_object
philip
21-Mar-2005 08:04
This function requires one of the following to exist: Windows, DB2, or UNIXODBC.
thorsten at rinne dot info
15-Oct-2003 02: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 01: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 06: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 10: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 11: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 05: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 10: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 12: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, 18 Jul 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites