pdo_mysql vs pdo_odbc

Eléphant du PHP | 245 Messages

17 avr. 2012, 10:20

Salut,

je peux me connecter à une base de données Mysql de 2 façons :
$bdd = new PDO("odbc:Driver={MySQL ODBC 5.1 Driver};Server=myServer;Database=madatabase;Uid=adminname;Pwd=pwd;");

//ou :

$bdd = new PDO('mysql:host=myHost;dbname=madatabase', 'adminname', 'pwd', $pdo_options);	
Ma question est quelle est la meilleure solution?
Je me dis que passer par un driver odbc peut me permettre d'établir un pool de connexion en paramétrant le php.ini par exemple, et donc améliorerait les performances.
Mais si c'est le cas, je ne sais pas quelles directives activer.

Quelqu'un a-t-il une idée ?

ViPHP
ViPHP | 2577 Messages

17 avr. 2012, 10:56

Bonjour,

J'ai toujours pensé que la connection via odbc n'était utile que pour les sgbd non géré (ou mal géré) par PHP. Dans le cas de MySQL, utiliser les fonctions native de mysql me semblait mieux.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 avr. 2012, 11:33

utiliser les drivers natif, c'est effectivement mieux, ODBC étant générique ;)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 245 Messages

17 avr. 2012, 16:32

merci les amis pour vos réponses.

Il n'y a aucun moyen de gérer des pools de connexions avec PHP alors ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 avr. 2012, 16:55

aucune idée ^^

Pas que je sache, a priori qu'avec le driver odbc, donc a voir suivant ce que tu souhaite réellement faire.

Y a u une directive qui parle de pooling http://fr.php.net/manual/fr/ref.pdo-odb ... on-pooling.

je n'ai pas trouvé d'exemple sur le sujet, donc voir si tu a un serveur qui gère le pool et ensuite la chaîne de connexion sans user / passwd, ou avec une uri ?


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

17 avr. 2012, 20:03

Il y a la fonction mysql_pconnect http://www.php.net/manual/fr/function.m ... onnect.php
Je ne sais pas si ca correspond à ton besoin et s'il y a un équivalent pdo

Eléphant du PHP | 245 Messages

19 avr. 2012, 22:47

bah les connexions permanentes avec mysql_pconnect(), je ne vois pas comment ça marche.
je vais poster un sujet sur ça, tiens.
en tous cas, merci pour vos réponses.