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

search for in the

mysqli_result::fetch_row> <mysqli_result::fetch_fields
[edit] Last updated: Fri, 24 Feb 2012

view this page in

mysqli_fetch_object

result->fetch_object

(PHP 5)

mysqli_fetch_object -- result->fetch_objectRetorna a linha atual do conjunto de resultados como um objeto

Descrição

Estilo de procedimento:

mixed mysqli_fetch_object ( object $result )

Estilo orientado a objeto (metodo):

mixed result::fetch_object ( void )

A função mysqli_fetch_object() irá retornar a linha atual do conjunto de resultados como um objeto aonde os atributos do objeto representam os nomes dos campos encontrados no conjunto de resultados. Se não existirem mais linhas no conjunto de resultados atual, é retornado NULL.

Valores de retorno

Retorna um objeto que corresponde a linha obtida ou NULL se não houverem mais linhas no conjunto de resultados.

Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Nota: Esta função assimila campos NULL para o o NULL do PHP.

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}
 
$query "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if (
$result $mysqli->query($query)) {

    
/* fetch object array */
    
while ($obj $result->fetch_object()) {
        
printf ("%s (%s)\n"$obj->Name$obj->CountryCode);
    }

    
/* free result set */
    
$result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if (
$result mysqli_query($link$query)) {

    
/* fetch associative array */
    
while ($obj mysqli_fetch_object($result)) {
        
printf ("%s (%s)\n"$obj->Name$obj->CountryCode);
    }

    
/* free result set */
    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima devem produzir a seguinte saída:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)


mysqli_result::fetch_row> <mysqli_result::fetch_fields
[edit] Last updated: Fri, 24 Feb 2012
 
add a note add a note User Contributed Notes mysqli_fetch_object
Alex 27-Jan-2012 04:36
Make sure to specify the full namespace for the "string $class_name" parameter and not a partial one, as it won't find it. For example:

<?php

namespace Root
(backslash)FirstLevel
{
    public static function
Test($result)
    {
        return
mysqli_fetch_object($result, 'SecondLevel\\MyClass');
    }
}

?>

... will not work but this will:

<?php

namespace Root
(backslash)FirstLevel
{
    public static function
Test($result)
    {
        return
mysqli_fetch_object($result, 'Root\\FirstLevel\\SecondLevel\\MyClass');
    }
}

?>
benpptung at tacol dot biz 08-Aug-2009 08:04
I don't know why no one talk about this.
fetch_object is very powerful since you can instantiate an Object which has the methods you wanna have.

You can try like this..

<?php
class PowerfulVO extends AbstractWhatEver {

    public
$field1;
    private
$field2; // note : private is ok

   
public function method(){
      
// method in this class
   
}
}

    
$sql = "SELECT * FROM table ..."
    
$mysqli = new mysqli(........);
    
$result = $mysqli->query($sql);
    
$vo = $result->fetch_object('PowerfulVO');
?>

Note : if the field is not defined in the class, fetch_object will add this field for you as public.

The method is very powerful, especially if you want to use a VO design pattern or class mapping feature with Flex Remoting Object( Of course, you need to have ZendAMF or AMFPHP ..framework)

Hope this help and open new possibilities for you
peterbelm at g[oogle]mail dot com 18-Aug-2008 07:10
If your SQL code selects columns with empty names like so:

SELECT id as ``...

You will get a fatal error "Cannot access empty property", this took me a while to track down!

Obviously your SQL really shouldn't do that, and should be fixed but I'm going to submit a feature request to ask for a better error message for that.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites