Documente Academic
Documente Profesional
Documente Cultură
PDO
PDO (PHP Data Objects) est une interface pour accder une base de
Dveloppement Web 2 donnes depuis PHP. Elle gre la connexion, lenvoie des requtes, la
dconnexion la base de donnes. Elle permet de changer plus facilement
de systme de gestion de bases de donnes.
Bertrand Estellon Ouverture de la base :
Aix-Marseille Universit <?
$dbHost = $_SERVER['dbHost']; $dbBd = $_SERVER['dbBd'];
$dbPass = $_SERVER['dbPass']; $dbLogin = $_SERVER['dbLogin'];
April 1, 2014 $url = 'mysql:host='.$dbHost.';dbname='.$dbBd;
$db = new PDO($url, $dbLogin, $dbPass);
if (!$db) die("impossible d'ouvrir la base de donnes.");
$this->createDataBase();
?>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 1 / 436 Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 164 / 436
PHP Base de donnes Les requtes et fonctions utiles PHP Base de donnes Les requtes et fonctions utiles
PDO PDO
Pour faire une requte SQL :
Pour mettre toutes les lignes dans un tableau :
<?
$res = $db->query("select * from sondages"); <?
var_dump($res); $res = $db->query("select * from sondages");
/* affiche 'object(PDOStatement)#2 (1) { $lignes = !+$res->fetchAll();+!
["queryString"]=> string(19) "select * from sondages" }' */ foreach ($lignes as $ligne) {
?> echo $ligne['createur'].
" pose la question : ".
Pour connatre le nombre de lignes : $ligne['question']."\n";
}
<? echo "nombre de lignes : ".!+$res->rowCount()+!."\n"; ?> ?>
Pour parcourir les lignes : Voir aussi, dans la classe PDOStatement, les mthodes:
<?
$res = $db->query("select * from sondages");
bindColumn : attache une variable une colonne
while ($ligne = !+$res->fetch()+!) { errorInfo : information derreur
echo $ligne['createur'].
" pose la question : ". fetchColumn : rcupre la valeur dans une colonne donne
$ligne['question']."\n";
} closeCursor : ferme le curseur
?> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 167 / 436 Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 168 / 436
PHP Base de donnes Les requtes et fonctions utiles PHP Base de donnes Les requtes et fonctions utiles
Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 169 / 436 Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 170 / 436
PHP Base de donnes Les requtes et fonctions utiles PHP Base de donnes Les requtes et fonctions utiles
Redbean One-to-many
if ($total===0) {
foreach ($survey->ownResponse as &$r)
$r->percentage = 0;
} else {
foreach ($survey->ownResponse as &$r)
$r->percentage = (100*$r->count)/$total;
}
}
?>
. . . . . . . . . . . . . . . . . . . .
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
Bertrand Estellon (AMU) Dveloppement Web 2 April 1, 2014 177 / 436