« Programmation PHP/PDO » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Fpetit11
imported>Fpetit11
Aucun résumé des modifications
Ligne 13 :
PDO ne fonctionne donc pas avec les versions antérieures de PHP car il nécessite les fonctionnalités OO de PHP 5.<br />
L'extension n'est pas activée avant [[PHP]] 5.1.0<ref>http://fr2.php.net/manual/fr/pdo.installation.php</ref>, par défaut, il faut donc décommenter la ligne de "php_pdo.dll" dans php.ini.<br />
Pour activer le SGBD, il faut ensuite écrire : <code>extension=php_pdo_''[SGBD utilisé]''.dll</code>.
 
== Pilotes disponibles pour PDO ==
Ligne 33 :
L'extension PDO comporte 3 classes :
* La classe PDO correspond à une connexion à la base de données.
* La classe PDOStatement représente d'une part une requête préparée et d'autre part le jeu de résultats de la requête une fois qu'elle est exécutée. <br />
Cette classe offre des méthodes de parcours, de comptage, d'informations.
* La classe PDOException représente une erreur émise par PDO.
 
Ligne 48 ⟶ 49 :
== Passer des requêtes en PDO ==
Des méthodes permettent de passer des requêtes à l'objet récupéré lors de la connexion.
* PDO::exec(string $statement) <br />
* PDO::query(string $statement) query() permet de passer et exécuter une requête SQL (par exemple de type SELECT).<br />Elle retourne le jeu de résultats (s'il y en a) sous forme d'objet PDOStatement.
*La PDO::exec(string $statement)méthode PDO::exec() permet de passer et exécuter une requête SQL (par exemple de type INSERT, UPDATE, DELETE).<br />Elle retourne le nombre de lignes affectées par la requête.
<source lang="php">
$requete="DELETE * FROM matable WHERE champ1='mavaleur'";
$resultat=$connexion->exec($requete);
echo $resultat.' suppressions effectuées';
</source>
* PDO::query(string $statement) <br />
*La PDO::query(string $statement)méthode query() permet de passer et exécuter une requête SQL (par exemple de type SELECT).<br />Elle retourne le jeu de résultats (s'il y en a) sous forme d'objet PDOStatement.
<source lang="php">
$requete="SELECT champ1, champ2 FROM matable";
$resultat=$connexion->query($requete);
</source>
 
== Quelques méthodes de PDOStatement ==
Ligne 55 ⟶ 67 :
* PDOStatement::fetch() récupère la ligne suivante d'un jeu de résultats PDO.
* PDOStatement::fetchAll() retourne un tableau contenant toutes les lignes du jeu d'enregistrements PDO.
* PDOStatement::fetchObject récupère la prochaine ligne suivante et la retourne en tant qu'objet.
* PDOStatement::fetchColumn retourne une colonne depuis la ligne suivante d'un jeu de résultats PDO.
* PDOStatement::fetchObject récupère la prochaine ligne et la retourne en tant qu'objet.
* PDOStatement::rowCount retourne le nombre de lignes affectées par le dernier appel à la fonction. Elle ne fonctionne qu'avec des requêtes de type INSERT, UPDATE ou DELETE.
* PDOStatement::closeCursor() libère la connexion au serveur, permettant ainsi à d'autres requêtes SQL d'être exécutées. La requête reste dans un état lui permettant d'être de nouveau exécutée.<br />
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
 
== Faire une requête préparée avec PDO ==