(PHP 5, PHP 7, PHP 8)
mysqli_result::__construct — Constrói um objeto mysqli_result
Este método constrói um novo objeto mysqli_result.
Pode ser usado para criar o objeto mysqli_result após a chamada à função mysqli_real_query() ou mysqli_multi_query(). Construir o objeto manualmente é equivalente a chamar a função mysqli_store_result() ou mysqli_use_result().
mysql
Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()
result_mode
O modo de resultado pode ser uma de 2 constantes que indicam como o resultado será retornado do servidor MySQL.
MYSQLI_STORE_RESULT
(padrão) - cria um
objeto mysqli_result com resultado em buffer.
MYSQLI_USE_RESULT
- cria um
objetomysqli_result com resultado sem buffer.
Enquanto houver registros pendentes esperando ser recebidos, a
linha de conexão estará ocupada e todas as chamadas subsequentes retornarão o erro
Commands out of sync
(comandos fora de sincronismo). Para evitar o erro, todos os registros
devem ser recebidos do servidor ou o resultado deve ser descartado
através da função mysqli_free_result(). A conexão precisa
permanecer aberta para que as linhas sejam recebidas.
Se o relatório de erros da extensão mysqli estiver habilitado (MYSQLI_REPORT_ERROR
) e a operação solicitada falhar,
um aviso será gerado. Se, além disso, o modo for definido como MYSQLI_REPORT_STRICT
,
uma exceção mysqli_sql_exception será lançada em vez do aviso.
Exemplo #1 Criação de um objeto mysqli_result
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Consultas SELECT retornam um resultado */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");
$result = new mysqli_result($mysqli);
printf("SELECT retornou %d linhas.\n", $result->num_rows);
Os exemplos acima produzirão algo semelhante a:
SELECT retornou 10 linhas.