|
8.101.29 PDOStatement::closeCursor()
Ferme le curseur, permettant à la requête d'être de nouveau exécutée
[ Exemples avec pdostatement_closecursor ] CVS uniquement
bool
PDOStatement::closeCursor (
void
)
PDOStatement::closeCursor
libère la connexion
du serveur, permettant ainsi à d'autres requêtes SQL d'être exécutées, mais
quitte la requête, permettant ainsi qu'elle soit de nouveau exécutée.
Cette méthode est utile pour les drivers de base de données qui ne supportent
pas l'exécution d'objet PDOStatement lorsqu'un objet PDOStatement exécuté
précédemment a encore des lignes non récupérées. Si votre driver de base de
données souffre de cette limitation, le problème se manifestera de lui-même
dans une erreur en dehors de la séquence.
PDOStatement::closeCursor
est implémenté soit
en tant que méthode optionnelle spécifique au driver (autorisant un maximum
d'efficacité), ou en tant que fallback PDO générique si aucune fonction
spécifique au driver n'est installée.
Le fallback générique PDO est sémantiquement la même chose que
d'écrire le code suivant dans votre script PHP :
<?php do { while ($stmt->fetch()) ; if (!$stmt->nextRowset()) break; } while (true);
| Exemple avec PDOStatement::closeCursor | |
Dans l'exemple suivant, l'objet PDOStatement
$stmt
retourne de multiples lignes mais l'application récupère uniquement
la première ligne, laissant l'objet PDOStatement dans l'état où il lui reste
des lignes non récupérées. Pour vous assurez que l'application fonctionnera
avec tous les drivers de base de données, l'auteur insère un appel à la fonction
PDOStatement::closeCursor
sur
$stmt
avant l'exécution d'objet PDOStatement
$otherStmt
.
|
|