Connexion PDO(php data object ) [Résolu/Fermé]

Signaler
Messages postés
49
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
23 juin 2017
-
Messages postés
49
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
23 juin 2017
-
Salut :)
SVP , est ce que ce code est connecté avec PDO ou non ? Snon comment faire ?
car cette classe 'session' implémentate des méthodes.

merci de me répondre c'est URGENT

<?php
//la classe session implémente les méthodes de manière dont PHP doit gérer les sessions:
class session
{
 public $session_time = 3600;//2 heures
 public $session = array();
 private $db;
 
 public function __construct('localhost', 'root', '', 'bdcommerciale'){
  $this->host = 'localhost';
  $this->user = 'root';
  $this->password = '';
  $this->dba = 'bdcommerciale';   }
 
 public function open ()//pour l'ouverture
 {
$this->connect = mysql_connect($this->host, $this->user, $this->password,1);//on se
                                                                  //connecte a la bdd
$bdd = mysql_select_db($this->dba,$this->connect);//on sélectionne la base de données
   
  $this->gc();//on appelle la fonction gc  
  return $bdd;//true ou false selon la réussite ou non de la connexion à la bdd
 }
 
 public function read ($sid)//lecture
 {
                $sid = mysql_real_escape_string($sid,$this->connect);
  $sql = "SELECT sess_datas FROM sess_table
    WHERE sess_id = '$sid' ";
  
  $query = mysql_query($sql,$this->connect) or exit(mysql_error()); 
  $data = mysql_fetch_array($query);
  
  if(empty($data)) return FALSE;
  else return $data['sess_datas'];//on retourne la valeur de sess_datas
 }
 
 public function write ($sid, $data)//écriture
 {
  $expire = intval(time() + $this->session_time);//calcul de l'expiration de la session
  $data = mysql_real_escape_string($data,$this->connect);//si on veut stocker du code sql 
  
  $sql = "SELECT COUNT(sess_id) AS total
   FROM ".SESS_TABLE."
   WHERE sess_id = '$sid' ";
  
  $query = mysql_query($sql,$this->connect) or exit(mysql_error());
  $return = mysql_fetch_array($query);
  if($return['total'] == 0)//si la session n'existe pas encore
  {
   $sql = "INSERT INTO ".SESS_TABLE."
    VALUES('$sid','$data','$expire')";//alors on la crée
   
  }
  else//sinon
  {
$sql = "UPDATE ".SESS_TABLE." ET sess_datas = '$data',sess_expire = '$expire'WHERE sess_id = '$sid' ";//on la modifie
  }  
  $query = mysql_query($sql,$this->connect) or exit(mysql_error());
  
  return $query;
 }
 
 public function close()//fermeture
 {
  mysql_close($this->connect);//on ferme la bdd
 }
 
 public function destroy ($sid)//destruction
 {
  $sql = "DELETE FROM ".SESS_TABLE."
   WHERE sess_id = '$sid' ";//on supprime la session de la bdd
  $query = mysql_query($sql,$this->connect) or exit(mysql_error());
  return $query;
 }
 
 public function gc ()//nettoyage
 {
  $sql = "DELETE FROM ".SESS_TABLE." 
    WHERE sess_expire < ".time(); //on supprime les vieilles sessions 
    
  $query = mysql_query($sql,$this->connect) or exit(mysql_error());
  
  return $query;
 }
 
}//fin de la classe

ini_set('session.save_handler', 'user');//on définit l'utilisation des sessions en personnel

//la fonction StartSession()

public function StartSession(){
// instanciation : 
$session = new session($sql_host, $sql_user, $sql_password, $sql_db);//on déclare la classe

session_set_save_handler(array($session, 'open'),
                         array($session, 'close'),
                         array($session, 'read'),
                         array($session, 'write'),
                         array($session, 'destroy'),
                         array($session, 'gc'));//on précise les méthodes à employer pour les sessions

session_start();//on démarre la session
}
?>

1 réponse

Messages postés
28889
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 juillet 2020
2 598
Bonjour,


est ce que ce code est connecté avec PDO ou non ?

Tu n'as qu'à regarder le code qui y est écrit ... et donc en voyant cela :
$this->connect = mysql_connect($this->host, $this->user, $this->password,1);//on se
                                                                  //connecte a la bdd
$bdd = mysql_select_db($this->dba,$this->connect);//on sélectionne la base de données
   

tu constates sans problème que non.. il n'est pas question de pdo ici.


Snon comment faire ?

Tu peux modifier le code ...
Tu peux t'inspirer de ceci : https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

Messages postés
49
Date d'inscription
vendredi 8 avril 2016
Statut
Membre
Dernière intervention
23 juin 2017

Merci beaucoup pour votre aide ^_^