begin process at 2012 02 12 07:12:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

Autre

 > 

Gérer la PDO tous serveur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gérer la PDO tous serveur

samedi 7 mars 2009 à 13:38:53 | Gérer la PDO tous serveur

azqsazqs

Bonjour,

Je suis en train de bosser sur la PDO, ce qui est tout nouveau pour moi, mais je m'en sort pas trop mal.

Mais j'ai un problème sur le type de serveur utilisé. Je m'explique, je voudrais pouvoir extraire le type de serveur BDD utilisé (Mysql, Sqllite, oracle...) et qu'il me donne la syntaxe de connection.

Ensuite, est-ce qu'une requête de type query("Select * from...") est compatible toute BDD confondus ? (j'espère sinon quel interet à la PDO )

Merci d'avance pour vos réponses.

----------------------------------------------------------------------------
Il y a 10 types de personnes dans le monde, ceux qui comprennent le binaire et les autres.

samedi 7 mars 2009 à 16:25:05 | Re : Gérer la PDO tous serveur

coucou747

Administrateur CodeS-SourceS
salut

tant que tu respectes la norme SQL, il est probable que ca soit compatible.
samedi 7 mars 2009 à 18:38:41 | Re : Gérer la PDO tous serveur

azqsazqs

J'ai un code:

$bdd = array();
// Pour MySQL :
$bdd[0] = 'mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd;
// Pour PostgreSQL
$bdd[1] = 'pgsql:host=$PARAM_hote port=4444 dbname=$PARAM_nom_bd user=login password=mdp';
// Pour Oracle
$bdd[2] = 'OCI:dbname=$PARAM_nom_bd , login, mdp';

foreach($bdd as $conx)
{
try {
$connexion = new PDO($conx, $login, $mdp);
echo "OK";
}
catch (PDOException $error) {
die("Erreur de connexion : " . $error->getMessage() );
}
$connexion = null; // Fermeture de la connexion
}

Mais ca fonctionne pas, il doit y avoir un truc pour identifier le type de BDD.

----------------------------------------------------------------------------
Il y a 10 types de personnes dans le monde, ceux qui comprennet le binaire et les autres.

dimanche 8 mars 2009 à 08:25:40 | Re : Gérer la PDO tous serveur

malalam

Administrateur CodeS-SourceS
Hello,

quel est le contexte ? Pourquoi ignores-tu au départ le type de serveur DB auquel tu dois te connecter? C'est curieux comme besoin...
Sinon, ton code ne peut pas marcher en l'état, effectivement, étant donné que tu fais un die() dans le catch. Donc si la 1ère tentative de connexion échoue, ton script s'arrête et n'essaye pas les autres.
Pour répondre à "il doit y avoir un truc pour identifier le type de BDD", non, pas automatiquement. Et c'est normal...comment veux-tu que le serveur web ait le moindre moyen de savoir à quel type de serveur DB il doit se connecter ? C'est un autre système, souvent un autre serveur totalement externe au serveur DB. Potentiellement, tu peux te connecter à n'importe quel serveur DB.
A mon boulot par exemple, on développe des applicatifs qui ont besoin de se connecter à plusieurs serveurs DB différents.
Un serveur web n'est pas omniscient :-) En général, c'est plutôt le développeur qui est omniscient...(en tous cas, au niveau du contexte de son applicatif).
dimanche 8 mars 2009 à 12:15:59 | Re : Gérer la PDO tous serveur

azqsazqs

C'est pour une sorte de CMS (plus la structure que le code complet).

Celui que j'ai concu marche très bien pour Mysql, mais j'aimerais le généralisé et le passer aux standards actuels de façon a ne pas avoir a réécrire toute la structure à chaque changement de serveur.

----------------------------------------------------------------------------
Il y a 10 types de personnes dans le monde, ceux qui comprennent le binaire et les autres.

dimanche 8 mars 2009 à 13:44:12 | Re : Gérer la PDO tous serveur

malalam

Administrateur CodeS-SourceS
Réponse acceptée !
Dans ce cas, ce n'est pas au code à deviner quel serveur de DB va être utilisé, mais au développeur qui va se servir du code.
Donc utiliser PDO est très bien, c'est une abstraction, tout va bien. Tu peux y ajouter le cas échéant une méthode d'usinage mais en dehors de ça, tu n'as rien besoin de faire de plus : l'utilisateur de ton cms sait sur quelle DB il va bosser...il lui suffira de le spécifier dans la configuration de ton CMS, voilà tout. Inutile d'essayer de te connecter en utilisant le moteur de toutes les DB implémentées dans PDO, ça ne sert strictement à rien.


Cette discussion est classée dans : type, serveur, utilisé, gérer, pdo


Répondre à ce message

Sujets en rapport avec ce message

Type de serveur d'évaluation [ par stu76 ] Bonjour,Depuis quelque jours mon serveur WAMP plante beaucoup. Quand je veux exécuter un script il me donne une erreur 404 me disant qu'il n'y a aucun Port bloque par firwall ou utilisé par un autre serveur [ par badind ] BonjourJ'ai installé easyphp 3.0 (Apache 2.2)  en remplacement de la version 1.5.Le serveur apache ne démarre pas : port bloqué par firwall ou utilisé quel type utilisé dans MySQL [ par cbastien ] hello,quel type dois je utiliser dans MySQL qui est un équivalent de MEMO dans Access ?TEXT étant trop court pour moiLONGTEXT va jusqu'à combien de ca php : formulaire 'type file' [ par dsschuler ] comment diable faire reconnaitre à mon serveur distant un fichier pdf, word, image pour permettre à tout utilisateur identifié de l'envoyer par mail à PDO serveur BDD distant [ par TheGorgo ] Bonjour, Je cherche à me connecter à un serveur de base de données distante en utilisant Doctrine. Lorsque je veux générer mon schèma de données, j'a Statut serveur [ par piccolo52 ] Bonjour, Je recherche une personne qui pourrait m'aider a faire un script pour connaitre le statut de mon serveur qui est un serveur de jeux vidéos. Module spécifié introuvable [ par rinvher ] Bonjour! Voilà il y a plus d'une semaine ke je trimbale un problème. Je serais heureux de recevoir de l'aide. Je voudrais me connecter au serveur d Recherche dans la base de donnée selon les checkbox coché [ par hassane86 ] Bonjour, je suis entrain de crée un site intranet, et je bloque sur un problème de faire une recherche dans la base de donnée selon les checkbox coché ftp et dossier caché [ par sidalilo ] bonjour j'ai caché un fichier sous dos par attrib..... mais lorssque j'ai installé filezila ftp et créé une session sur le serveur ftp et ensuite j'ai perte de contenu d'une variable suite $serveur['php_self''] [ par AZIRIAZIZ ] [i][/i]


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,902 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales