info:pdo:homepage

PDO

PHP Data Objects (PDO) est une extension définissant l'interface pour accéder à une base de données avec PHP.

https://fr.wikipedia.org/wiki/PHP_Data_Objects

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;
}
$req=$pdo->prepare($member0);
$req->execute();
$reqN=$req->rowCount();
if($reqN!=1){
 echo "bla!";
} 
foreach ($req as $result)
{
   echo $result["MySQL_variable_name"];
   echo "<br/>";
}
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);
}
$lastId = $stmt->lastInsertId();

comment comparer les données de la ligne courante avec la précédente ou la suivante? pas possible de faire comme j'aimais avec mysql_result($row+1) ou mysql_result($row-1)

solution: ajouter une variable locale dans la boucle, du genre:

  $current_discipline=""; //initialisation
  for(...)
   if($row['discipline'] != $current_discipline) { //est-ce que le champ discipline de la ligne courante est le même que la discipline courante? non -> ON CHANGE
     echo "<h1>" .$row['discipline'] ."</h1>";
     $current_discipline=$row['discipline'];
   } else { //oui, on ne fait rien
   }

C'est presque du Beckett… Une librairie pour autoriser des fonctions mysql_ php5 sur du php7: PHP 7 Shim for ext/mysql

  • info/pdo/homepage.txt
  • Dernière modification : 2023/01/13 09:57
  • de 216.244.66.245