[PDO] Déplacement du curseur d'un recordset

dorian53

WRInaute passionné
Bonjour,

Je suis en train de tester PDO et je ne parviens pas à déplacer le curseur de mon recordset.

J'ai pourtant suivi la doc...


1/ La connexion, pas de problème.
Code:
try {
	$db = new PDO('pgsql:host=localhost; dbname=one', 'postgres', 'aaaa', array(PDO::ATTR_PERSISTENT => true));
} catch (PDOException $e) {
	echo 'Echec de la connexion : ' . $e->getMessage();
}

2/ Je récupère mon recordset en précisant bien PDO::CURSOR_SCROLL afin de pouvoir manipuler le curseur par la suite.
Code:
$rs = $db->prepare('SELECT * FROM membre ORDER BY 1 ASC', array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
$rs->execute();

3/ Je parcours mon rs, ok pas de souçis...
Code:
while ($res = $rs->fetch())
	echo $res['idm'],' ',$res[1],'<br />';

4/ Pour mon test je veux reprendre le 1er jeu de résultat en placant le curseur au début (comme on pourrait le faire via un mysql_data_seek), ici ça ne fonctionne pas. Rien ne s'affiche.
Code:
$res = $rs->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_FIRST);
	echo $res['idm'],' ',$res[1],'<br />';

Voici la doc que j'ai consulté :
http://fr3.php.net/manual/fr/function.pdostatement-fetch.php

Merci.
 

oxman

WRInaute discret
Je ne me suis jamais servis de PDO, mais à tout hasard d'après la doc essaye :
$res = $rs->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_REL, PDO::FETCH_ORI_FIRST);
 

oxman

WRInaute discret
Et ça ?
$res = $rs->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_REL, 0)

Tu es sur que ça ne déplace pas le curseur d'un iota ?
 

dorian53

WRInaute passionné
Certain j'ai ré-essayé mais c'est juste une variante de FIRST.

Ca ne doit tout simplement pas encore être géré, et c'est très dommage car ça ne semble pas complexe.

Merci quand même.


Si vous désirez tester en local il y a wampserver qui propose PHP5 et une installation automatique de tout ça.
 

Discussions similaires

Haut