[PHP] J'ai une question très simple ! Help !!
Fermé
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
-
3 juin 2012 à 20:23
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012 - 6 juin 2012 à 20:21
patatouf Messages postés 26 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 29 décembre 2012 - 6 juin 2012 à 20:21
Salut !
Je suis sous Mac et j'utilise MAMP. Je voudrais voir si le pdo est activé. Pour ça, je vais dans le fichier php.ini mais je ne trouve pas la ligne "extension=php_pdo_mysql.dll". Par contre j'ai vu cette ligne là : "extension=pdo_mysql.so".
Est ce que la ligne que je vous ai cité en dernier est la bonne ligne pour activer le PDO ?
Merci d'avance !
Je suis sous Mac et j'utilise MAMP. Je voudrais voir si le pdo est activé. Pour ça, je vais dans le fichier php.ini mais je ne trouve pas la ligne "extension=php_pdo_mysql.dll". Par contre j'ai vu cette ligne là : "extension=pdo_mysql.so".
Est ce que la ligne que je vous ai cité en dernier est la bonne ligne pour activer le PDO ?
Merci d'avance !
A voir également:
- [PHP] J'ai une question très simple ! Help !!
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Easy php - Télécharger - Divers Web & Internet
- Simple file locker - Télécharger - Sécurité
- Organigramme simple - Guide
8 réponses
Vérifier dans ton dossier d'extensions (le dossier s'appelle "ext") si le fichier "pdo.so" est présent.
Ensuite vérifier que les lignes suivantes sont présentes dans le php.ini :
extension=pdo.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
Et question simple aussi :
as-tu tout simplement essayé d'instancier une pdo?(je suppose que oui)
Si ca marche -> PDO est activé sur MAMP
Si ca marche pas -> télécharge le fichier pdo.so et ajoute les lignes que j'ai cité au dessus.
Ensuite vérifier que les lignes suivantes sont présentes dans le php.ini :
extension=pdo.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
Et question simple aussi :
as-tu tout simplement essayé d'instancier une pdo?(je suppose que oui)
Si ca marche -> PDO est activé sur MAMP
Si ca marche pas -> télécharge le fichier pdo.so et ajoute les lignes que j'ai cité au dessus.
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
6 juin 2012 à 18:45
6 juin 2012 à 18:45
Salut,
je ne trouve pas le dossier ext. J'ai par contre trouvé le dossier extension, qui ne contenait malheureusement pas pdo.so. Par contre il y avait d'autres fichiers qui ressemblait à ce que tu m'as dit.
Voici un screenshot : https://i.imgur.com/E3nKs.png
Au faite, dans le dossier extensions il y a un autre dossier appelé "no-debug-non-zts-20090626".
Dans le fichier php.ini, il n'y avait pas les lignes que tu m'as citées. Il y avait ça par contre :
Voilà, c'est tout.
P.S.: Dans le code qui me permet de me connecter à ma BDD, j'ai fait un script qui écrit l'erreur sur ma page. Et ça me met ça : SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
je ne trouve pas le dossier ext. J'ai par contre trouvé le dossier extension, qui ne contenait malheureusement pas pdo.so. Par contre il y avait d'autres fichiers qui ressemblait à ce que tu m'as dit.
Voici un screenshot : https://i.imgur.com/E3nKs.png
Au faite, dans le dossier extensions il y a un autre dossier appelé "no-debug-non-zts-20090626".
Dans le fichier php.ini, il n'y avait pas les lignes que tu m'as citées. Il y avait ça par contre :
;extension=apc.so extension=imap.so extension=yaz.so extension=mcrypt.so extension=gettext.so extension=pgsql.so extension=pdo_pgsql.so extension=pdo_mysql.so
Voilà, c'est tout.
P.S.: Dans le code qui me permet de me connecter à ma BDD, j'ai fait un script qui écrit l'erreur sur ma page. Et ça me met ça : SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
6 juin 2012 à 19:15
6 juin 2012 à 19:15
Vérifie d'abord qu'il n'est pas instalé
if (!defined('PDO::ATTR_DRIVER_NAME')) { echo 'PDO unavailable'; }
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
6 juin 2012 à 19:19
6 juin 2012 à 19:19
Vérifie d'abord qu'il n'est pas installé
du manuel php:
PDO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0
Si tu as PHP > 5.1.0 il est forcement installé, en plus tu utilise MAMP, je vois pas comment PDO ne pourrais pas être installé.
if (!defined('PDO::ATTR_DRIVER_NAME')) { echo 'PDO unavailable'; }
du manuel php:
PDO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0
Si tu as PHP > 5.1.0 il est forcement installé, en plus tu utilise MAMP, je vois pas comment PDO ne pourrais pas être installé.
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
Modifié par patatouf le 6/06/2012 à 19:49
Modifié par patatouf le 6/06/2012 à 19:49
J'ai essayé le code et ça ne me mettait rien. Donc c'est que PDO doit bien être installé. Mais c'est peut-être qu'il n'est pas activé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
Modifié par aladin07 le 6/06/2012 à 19:54
Modifié par aladin07 le 6/06/2012 à 19:54
Il est activé, essaie de l'instancier.
try { $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'ERREUR: ' . $e->getMessage(); }
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
6 juin 2012 à 19:58
6 juin 2012 à 19:58
Mais qu'est ce que ça veut dire instancier ?
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
6 juin 2012 à 20:00
6 juin 2012 à 20:00
Et bien tu as vu le code que je viens e te donner, c'est de l'instanciation. Tu appel le driver PDO,
new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
6 juin 2012 à 20:02
6 juin 2012 à 20:02
comment ça appeler le driver PDO ?
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
Modifié par aladin07 le 6/06/2012 à 20:10
Modifié par aladin07 le 6/06/2012 à 20:10
Et bien, PDO c'est un driver, un outil avec lequel tu peux te connecter à la base de donnés et retrouver les donnés. L'instancier c'est tout simplement l'utiliser
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
6 juin 2012 à 20:14
6 juin 2012 à 20:14
Ah mais quand tu l'instancifie, c'est quand tu vérifies si tu es bien connecté (enfin, si ton code a bien fonctionné) ?
aladin07
Messages postés
277
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
30 septembre 2012
30
6 juin 2012 à 20:16
6 juin 2012 à 20:16
Et bien voilà, PDO c'est un genre de class, les class sont instanciers avec
include 'classname.php';
$var = new ClassName();
classname.php contiendra la class ClassName() qui contient des proprietés des fonctions par exemple:
class Classname {
function hello() {
return "Hello World";
}
}
Donc $var = new ClassName();
echo $var->hello(); produira Hello World;
La même chose avec le PDO, PDO c'est une class qui contient des fonctions (connect ...etc) que tu utilisera pour retrouver les donnés
PDO est inclue dans PHP par default donc $pdo = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); directement.
J'éspère que ça t'aide un peu.
Tiens moi au courant si tu veux en apprendre plus.
include 'classname.php';
$var = new ClassName();
classname.php contiendra la class ClassName() qui contient des proprietés des fonctions par exemple:
class Classname {
function hello() {
return "Hello World";
}
}
Donc $var = new ClassName();
echo $var->hello(); produira Hello World;
La même chose avec le PDO, PDO c'est une class qui contient des fonctions (connect ...etc) que tu utilisera pour retrouver les donnés
PDO est inclue dans PHP par default donc $pdo = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); directement.
J'éspère que ça t'aide un peu.
Tiens moi au courant si tu veux en apprendre plus.
patatouf
Messages postés
26
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
29 décembre 2012
6 juin 2012 à 20:21
6 juin 2012 à 20:21
D'accord, merci !