mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::attr_set -- mysqli_stmt_attr_setUsado para modificar o comportamento de uma instrução preparada

Descrição

Estilo orientado a objetos

public mysqli_stmt::attr_set(int $attribute, int $value): bool

Estilo procedural

mysqli_stmt_attr_set(mysqli_stmt $statement, int $attribute, int $value): bool

Usada para modificar o comportamento de uma instrução preparada. Esta função pode ser chamada múltiplas vezes para definir vários atributos.

Parâmetros

statement

Somente no estilo procedural: Um objeto mysqli_stmt retornado por mysqli_stmt_init().

attribute

O atributo que se deseja definir. Pode ser um dos seguintes valores:

Valores de atributos
Caractere Descrição
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Definir para true faz com que mysqli_stmt_store_result() atualize o valor do metadado MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE Tipo de cursor a ser aberto para a instrução quando mysqli_stmt_execute() for chamada. value pode ser MYSQLI_CURSOR_TYPE_NO_CURSOR (o padrão) ou MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS Número de linhas a receber do servidor de cada vez ao usar um cursor. value pode estar na faixa de 1 até o máximo valor de um inteiro longo sem sinal. O padrão é 1. Removida a partir do PHP 8.4.0.

Se a opção MYSQLI_STMT_ATTR_CURSOR_TYPE for usada com MYSQLI_CURSOR_TYPE_READ_ONLY, um cursor é aberto para a instrução quando mysqli_stmt_execute() é chamada. Se já houver um cursor aberto de uma chamada anterior de mysqli_stmt_execute(), o cursor é fechado antes que um novo seja aberto. mysqli_stmt_reset() também fecha qualquer cursor aberto antes de preparar a instrução para re-execução. mysqli_stmt_free_result() fecha qualquer cursor aberto.

Se for aberto um cursor para uma instrução preparada, a função mysqli_stmt_store_result() é desnecessária.

value

O valor a designar para o atributo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

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.