Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2345 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PhP: Comment passer d'une BDD SQL à SQLite?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PhP: Comment passer d'une BDD SQL à SQLite?

n°2144829
thojolu
Expert Ordinateur Portables
Posté le 06-06-2012 à 15:47:20  profilanswer
 

Bonjour à tous,
 
Voila mon super soucis, j'ai un backoffice créé pour les besoins d'un projet, qui fonctionne impeccablement bien en SQL. Le problème est que je viens d'apprendre que l'archi avait changé et qu'il fallait passer sur du SQLite... Super! Mon soucis du coup: j'ai cherché des tutos sur le net, mais on dit beaucoup de chose différentes, mais rien de vraiment concret, et je ne vois pas comment faire migrer mon site et surtout si ça représente beaucoup de travail ou non.
 
Voici le code de connexion actuel (SQL) de la BDD:

Code :
  1. <?php
  2. abstract class AbstractPdoManager {
  3. const DRIVER = 'mysql';
  4. const HOST = 'localhost';
  5. const PORT = '3306';
  6. const DATABASE_NAME = 'youfood';
  7. const USER = 'root';
  8. const PASSWORD = '';
  9. protected $pdo;
  10. public function __construct() {
  11.   $dsn = self::DRIVER.':host='.self::HOST.';port='.self::PORT.';dbname='.self::DATABASE_NAME;
  12.   $this->pdo = new PDO($dsn, self::USER, self::PASSWORD);
  13. }
  14. }
  15. ?>


 
savez vous quoi faire pour m'aider?  
 
Merci!


---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon
mood
Publicité
Posté le 06-06-2012 à 15:47:20  profilanswer
 

n°2144836
flo850
moi je
Posté le 06-06-2012 à 16:03:58  profilanswer
 

Tu utilises pdo partout  ?  
c'est déjà bien, il faut que tu changes  ta chaîne de connexion pour la chaine de connexion sqllite

Code :
  1. $dbh = new PDO("sqlite:/path/to/database.sdb" );


 
Ensuite, il faut que tu repasse sur chacune de tes requêtes et que tu vérifie qu'elles fonctionnent avec sqlite. Quelques unes des différences à rechercher : http://stackoverflow.com/questions [...] ces-in-sql


---------------

n°2144837
thojolu
Expert Ordinateur Portables
Posté le 06-06-2012 à 16:06:26  profilanswer
 

pardon, oui, je code en orienté objet, et passe par PDO de partout.
 
Concernant du coup cette page de connexion, cette unique ligne suffit? J'ai essayé de faire quelques bricollage (avec SQLiteDatabase ou sqlite_open) et malheureusement, aucune de ces deux fonction n'est trouvée je me suis dit qu'il manquais peut être un Include mais je n'ai pas trouvé quoi rajouté? Je vais déjà tester avec ça pour la connexion et je viens te dire, merci!


---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon
n°2144848
thojolu
Expert Ordinateur Portables
Posté le 06-06-2012 à 16:39:24  profilanswer
 

haha, du coup, j'ai un gros fuck sur toutes mes données pdo que j'avais entrées x)
 
pour mettre une fonction en application, je me débrouillais comme ça pour l'instant: (exemple sur une fonction lambda)

Code :
  1. public function Authenticate($Username, $MDP)
  2. {
  3.  $query = $this->pdo->prepare('SELECT * FROM client WHERE Username=:username');
  4.  $query->bindValue(':username', $Username);
  5.  $query->execute();
  6.  $result = $query->fetch(PDO::FETCH_OBJ);
  7.  if($result && $result->MDP == md5($MDP)) {
  8.   return new Client($result->ID,$result->Username,$result->Nom,$result->Prenom, $result->Telephone, $result->Structure, $result->Fonction, $result->Adresse, $result->MDP, $result->Mail);
  9.  }
  10.  else
  11.  {
  12.   return null;
  13.  }
  14. }


 
j'ai une erreur sur "pdo" (ligne 3 ici) et si je vire PDO, il ne reconnais plus le Prepare :'(


Message édité par thojolu le 06-06-2012 à 16:39:58

---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon
n°2144850
flo850
moi je
Posté le 06-06-2012 à 16:41:58  profilanswer
 

et c'est quoi le message d'erreur  ?


---------------

n°2144870
thojolu
Expert Ordinateur Portables
Posté le 06-06-2012 à 17:18:51  profilanswer
 

alors en fait j'en ai deux du coup, sur la fonction PDO et prepare  
Notice: Undefined property: PdoClientManager::$pdo in C:\wamp\www\YouFood\classestest\manager\pdo\PdoClientManager.class.php on line 3
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\YouFood\classestest\manager\pdo\PdoClientManager.class.php on line 3
 
Vraiment merci de ton aide, car j'en ai trop marre ^^'


---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon
n°2145013
thojolu
Expert Ordinateur Portables
Posté le 07-06-2012 à 14:29:56  profilanswer
 

d'autres idées? J'ai fait un peut le tour et j'avoue que je commence à sécher sur les possibilité de résoudre ce problème :/
 
En fait, il me semble que ma fonction de connexion à la BDD ne marche pas, voici ce que comprends mon AbstractPdoManager:

Code :
  1. <?php
  2. abstract class AbstractPdoManager {
  3. protected $pdo;
  4. public function __construct() {
  5. $this->pdo = new PDO("sqlite:C:\wamp\www\YouFood\youfood.sqlite" );
  6. }
  7. }
  8. ?>


 
fais-je ça bien?


Message édité par thojolu le 07-06-2012 à 14:38:25

---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon
n°2145049
thojolu
Expert Ordinateur Portables
Posté le 07-06-2012 à 16:38:22  profilanswer
 

Attention, évolution, maintenant, je n'ai plus d'erreur quand je valide, mais ça ne me logue pas l'utilisateur :'(
 
voila le code complet:
 

Code :
  1. public function Authenticate($Username, $MDP)
  2. {
  3.  $dbh = new PDO("sqlite:C:\wamp\www\YouFood\youfood.sqlite" );
  4.  $stmt = $dbh->prepare('SELECT * FROM client WHERE Username=:username');
  5.  $stmt->bindValue(':username', $Username);
  6.  $result = $stmt->fetch(PDO::FETCH_OBJ);
  7.  if($result && $result->MDP == $MDP) {
  8.  return new Client($result->ID,$result->Username,$result->Nom,$result->Prenom, $result->Telephone, $result->Structure, $result->Fonction, $result->Adresse, $result->MDP, $result->Mail);
  9.  }
  10.  else
  11.  {
  12.  return null;
  13.  }
  14. }


 
je comprends plus rien  :pt1cable:


Message édité par thojolu le 07-06-2012 à 16:38:45

---------------
On part en live! https://www.twitch.tv/inforea, Sujet : [VDS] Rien [ACH] P4G HS + Epaves LENOVO/FUJITSU ville: Lyon

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PhP: Comment passer d'une BDD SQL à SQLite?

 

Sujets relatifs
Help! Extraire données en tableau + publipostage[SQL Serveur] Restaurer un dump sans supprimer la réplication
Langages & BDD win8 / wp8 / android / iphone[PHP] - Recherche Agenda d'équipe
Optimiser recherche dans une grosse BDD ExcelAppel fonction Javascript dans variable PHP
[Résolu] Simplification de requete SQLRecherche un outil editeur qui traduit le PHP.
Requete SQL double résultatFormulaire - Vérification Javascript & Envoi en PHP
Plus de sujets relatifs à : PhP: Comment passer d'une BDD SQL à SQLite?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR