IMPORTANT NOTE:
If you were used to using code like this:
<?php
while(false !== ($row = mysql_fetch_assoc($result))
{
//...
}
?>
You must change it to this for mysqli:
<?php
while(null !== ($row = mysqli_fetch_assoc($result))
{
//...
}
?>
The former will cause your script to run until max_execution_time is reached.
mysqli_result::fetch_assoc
mysqli_fetch_assoc
(PHP 5)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtem uma linha do conjunto de resultados como uma matriz associativa
Descrição
Estilo orientado a objeto (metodo):
Estilo de procedimento:
Retorna uma matriz associativa que corresponde a linha obtida, ou NULL se não houverem mais linhas.
A função mysqli_fetch_assoc() é usada para retornar uma matriz associativa representando a próxima linha no conjunto de resultados representado pelo parâmetro result, aonde cada chave representa o nome de uma coluna do conjunto de resultados.
Se duas ou mais colunas do resultado tiverem o mesmo nome do campo, a ultima coluna terá precedencia, Paa acessar as outra coluna(s) com o mesmo nome, você pode acessar o resultados com índices númericos usando a função mysqli_fetch_row() ou adicionar apelidos.
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.
Parâmetros
- result
-
Apenas para estilo de procedimento: Um identificador de um conjunto de resultados retornado por mysqli_query(), mysqli_store_result() ou mysqli_use_result().
Valor Retornado
Retorna uma matriz que corresponde a linha obtida NULL se não houverem mais linhas no conjunto de resultados.
Exemplos
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 associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["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 ($row = mysqli_fetch_assoc($result)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* free result set */
mysqli_free_result($result);
}
/* close connection */
mysqli_close($link);
?>
O exemplo acima irá imprimir:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)
Veja Também
- mysqli_fetch_array() - Obtem uma linha do resultado como uma matriz associativa, numérica, ou ambas
- mysqli_fetch_row() - Obtém uma linha do resultado como uma matriz numerada
- mysqli_fetch_object() - Retorna a linha atual do conjunto de resultados como um objeto
- mysqli_query() - Performs a query on the database
- mysqli_data_seek() - Ajusta o ponteiro do resultado para uma linha arbritaria no conjunto de resutados
[This describes the syntax difference in calling $result->fetch_assoc().]
<?php
/* fetch associative array works inside a while loop */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
// works
/* fetch associative array doesn't work inside a foreach */
foreach($result->fetch_assoc() as $row) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
// fails
?>
