Ceci est une ancienne révision du document !
PDO
PHP Data Objects (PDO) est une extension définissant l'interface pour accéder à une base de données avec PHP.
Tips / Astuces
connect
function erp_connect_db_PDO() { //the VARIABLES in uppercase are stored in a config gile try { $login=DOLIBARR_LOGINMYSQL; // user name for you database $pass=DOLIBARR_PASSWORDMYSQL; // pass word to the database if you dont have a password $host=SERVERMYSQL; $dbname=DOLIBARR_DBMYSQL; $strConnection = 'mysql:host='.$host.';dbname='.$dbname; //Ligne 1 $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2 $pdo = new PDO($strConnection, $login, $pass, $arrExtraParam); //Ligne 3; Instancie la connexion $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Ligne 4 } catch(PDOException $e) { $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage(); die($msg); } return $pdo; }
équivalent mysql_num_rows
$req=$pdo->prepare($member0);
$req->execute();
$reqN=$req->rowCount();
if($reqN!=1){
echo "bla!";
}
loop results
foreach ($req as $result) { echo $result["MySQL_variable_name"]; echo "<br/>"; }
just one row
function produit_libelle2($id,$pdo) { $sql="SELECT ref, label FROM llx_product WHERE rowid=".$id; $stmt = $pdo->query($sql); $row =$stmt->fetchObject(); $produit=$row->label; return($produit); }
last insert id
$lastId = $stmt->lastInsertId();
Doc 'n books
En attendant PDO
C'est presque du Beckett… PHP 7 Shim for ext/mysql