[PHP] J'ai une question très simple ! Help !!
patatouf
Messages postés
30
Statut
Membre
-
patatouf Messages postés 30 Statut Membre -
patatouf Messages postés 30 Statut Membre -
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 !
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. -
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 :;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) -
Vérifie d'abord qu'il n'est pas 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é. -
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 -
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(); } -
-
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. -