mysqli_result::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_result::__constructConstrói um objeto mysqli_result

Descrição

public mysqli_result::__construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_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().

Parâmetros

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.

Erros/Exceções

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.

Exemplos

Example #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.

Veja Também