PHP Conference Nagoya 2025

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::attr_set -- mysqli_stmt_attr_setModifie le comportement d'une requête préparée

Description

Style orienté objet

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

Style procédural

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

Modifie le comportement d'une requête préparée. Cette fonction peut être appelée plusieurs fois pour définir plusieurs attributs.

Liste de paramètres

statement

Style procédural uniquement : Un objet mysqli_stmt retourné par la fonction mysqli_stmt_init().

attribute

L'attribut que vous voulez définir. Il peut avoir une des valeurs suivantes :

Valeurs des attributs
Caractère Description
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Si défini à true, la fonction mysqli_stmt_store_result() mettra à jour la valeur de la méta-donnée MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE Type du curseur permettant l'ouverture de la requête lorsque la fonction mysqli_stmt_execute() est appelée. value peut valoir MYSQLI_CURSOR_TYPE_NO_CURSOR (par défaut) ou MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS Nombre de lignes à récupérer depuis le serveur en une fois lors de l'utilisation d'un curseur. value peut être compris entre 1 et la valeur maximale d'un type long non-signé. Par défaut, vaut 1. Supprimé à partir de PHP 8.4.0.

Si vous utilisez l'option MYSQLI_STMT_ATTR_CURSOR_TYPE avec MYSQLI_CURSOR_TYPE_READ_ONLY, un curseur sera ouvert pour la requête lors de l'appel à la fonction mysqli_stmt_execute(). S'il y a déjà un curseur d'ouvert depuis un précédent appel à la fonction mysqli_stmt_execute(), il sera fermé avant d'en ouvrir un nouveau. La fonction mysqli_stmt_reset() ferme également tous les curseurs avant de préparer la requête pour une ré-exécution. La fonction mysqli_stmt_free_result() ferme tout curseur ouvert.

Si vous ouvrez un curseur pour une requête préparée, la fonction mysqli_stmt_store_result() n'est pas nécessaire.

value

La valeur à assigner à l'attribut.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

Si le rapport d'erreurs mysqli est activé (MYSQLI_REPORT_ERROR) et que l'opération demandée échoue, un avertissement est généré. Si, en plus, le mode est défini sur MYSQLI_REPORT_STRICT, une mysqli_sql_exception est lancée à la place.

add a note

User Contributed Notes 1 note

up
4
chad 0x40 digitellinc 0x2e com
16 years ago
This is basically a wrapper for mysql_stmt_attr_set in the MySQL C API: http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-attr-set.html
To Top