1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
<?php
//// connexion (fichier connect_mysql.php)
require('MyPdo.php');
try{
$bdd = new MyPDO();
}
catch(PDOException $e){
echo "argggggggggggggg".$e->getMessage();
}
// MyPDO (fichier MyPdo.php)
//la classe MyPdo hérite de la classe PDO (extends)
class MyPdo extends PDO {
/* on privilégie les var de classe (statiques) aux constantes : ainsi modifiables par programme */
static public $DB_NAME = "xxx";
static public $HOST = "xxx";
static public $USER = "xxx";
static public $PASS = "xxx";
// le constructeur de MyPdo appelle le constructeur de PDO en lui passant ses paramètres
function __construct() {
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false;//important sur les configs récentes
$pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_OBJ;//pour le mode objet
$pdo_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";//pour l'utf-8
parent::__construct('mysql:host=' . MyPdo::$HOST . ';dbname=' . MyPdo::$DB_NAME, MyPdo::$USER, MyPdo::$PASS, $pdo_options);
}
}
// fin MyPDO
//// Effectuer une query et un fetch
$query = 'SELECT * FROM foo WHERE bar=1;';
$arr = $bdd->query($query)->fetch(); //Sur une même ligne ...
//// Effectuer une query et un fetchAll
$query = 'SELECT * FROM foo WHERE bar<10;';
$stmt = $bdd->query($query);
$arrAll = $stmt->fetchAll(); //... ou sur 2 lignes
//// Effectuer un exec
$query = 'DELETE FROM foo WHERE bar<10;';
$rowCount = $bdd->exec($query);
//// nb de lignes (mysql_num_rows)
$query = 'DELETE FROM foo WHERE bar<10;';
$rowCount = $bdd->exec($query);
echo "nb de lignes=".$rowCount;
// nb de lignes pour un select
$sql='select * from `users` order by nom';
$qid = $bdd->query($sql);
//test de mysql_num_rows
$num_rows=0;
while( $ligne=$qid->fetch(PDO::FETCH_OBJ) ) $num_rows++;
$bdd=NULL;
echo "nb de lignes=".$num_rows;
// exécuter un select puis afficher les lignes
$sql='select * from `conf` order by lastname';
$qid = $bdd->query($sql);
while( $ligne=$qid->fetch(PDO::FETCH_NUM) )...
// exécuter un select puis mettre les données en tableau associatif
$sql='select * from `conf` order by lastname';
$qid = $bdd->query($sql);
$data = $qid->fetchAll(PDO::FETCH_ASSOC);
echo $data[0]["name"]; // tableau à 2 dimensions
// faire une requête préparée
$sql=select * from conf where lastname=:name and firstname=:prenom and nb_conf=:nb;
$qid=$bdd->prepare($sql);
$qid->bindparam(:name,"toto",PDO::PARAM_STR);
$qid->bindparam(:prenom,"prenom_toto",PDO::PARAM_STR);
$qid->bindparam(:nb,5,PDO::PARAM_INT);
$qid->execute();
// faire une requête préparée sans bindparam
$sql=select * from conf where lastname=:name and firstname=:prenom and nb_conf=:nb;
$qid=$bdd->prepare($sql);
$qid->execute(array(':name' => "toto", ':prenom' => "prenom_toto",' :nb' => $nb_conf));
?> |
Partager