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.
mysqli_fetch_object
result->fetch_object
(PHP 5)
mysqli_fetch_object -- result->fetch_object — Retorna a linha atual do conjunto de resultados como um objeto
Descrição
Estilo de procedimento:
Estilo orientado a objeto (metodo):
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.
Veja também
mysqli_fetch_array(), mysqli_fetch_assoc(), mysqli_fetch_row().
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_fetch_object
18-Aug-2008 07:10
