coder avec PDO / mySQL--> Class PDO not found in G:\www\sitelocal\..

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : coder avec PDO / mySQL--> Class PDO not found in G:\www\sitelocal\..

oula c'est chaud

par serveur3 » 29 févr. 2008, 18:30

ouhhh, la c'est bizarre..

bon c'est résolu.. j'explique, même si je comprends pas :shock:

phpdesigner a bien le chemin qui pointe sur le serveur localhost et le chemin repertoire local (c:\..) qui pointe bien sur wamp.

le "debugger" et le 'run' de phpdesigner pointe sur le propre moteur php de phpdesigner qui pointe sur php-cgi.exe et php.ini dans son répertoire à lui dans program files.

j'ai repointé le path du debugger et du run vers wamp..

logiquement, c'est vrai que en le lancant dans le 'run' du logiciel, je conçois l'erreur puisque cela va pointer sur son propre moteur qui n'a pas l'extension PDO.

mais pas en lancant du navigateur l'url "http://localhost/site/page.php" car là c'est le moteur wamp qui fait l'execution php.. non ?

le logiciel phpdesigner n'aurait pas pu agir comme serveur localhost , surtout si le chemin dans ses préférences 'localhost' pointait sur wamp...!! d'où je ne comprends pas

:?: :?:

en tout cas merci de m'avoir lu et aider. :)

PS, oui excuse merci, j'avais entretemps intervertit ligne 2 et 3.

par Jules Petibidon » 29 févr. 2008, 18:25

Hello,

Ligne 2 : tu affecte $db à $dsn
Ligne 3 : tu définis $db

C'est pas logique :)

Intervertis ces deux lignes pour voir ?

par Hywan » 29 févr. 2008, 18:16

Maintenant que PDO fonctionne, il te dit que fetch() est appelé sur un membre qui n'est pas un objet. query() retourne un objet PDOStatement normalement. Tente un var_dump($pdo_result);.
Sinon je t'invite à lire la documentation sur query, et surtout à lire l'exemple 1.

par Berzemus » 29 févr. 2008, 18:04

ah ben c'est déjà un autre message ça.. pdo marche bien..

oui

par serveur3 » 29 févr. 2008, 17:11

oui, j'ai regardé la page phpinfo()..

il est marqué :PDO Drivers -> mysql,sqlite2 : enabled

PDO driver for mysql, client library version : 5.0.45


lorsque je le lance du serveur localhost : j'ai le message:

fatal error: call to a member function fetch() on a non-object in G\......

:(


quelqu'un peut-il reprendre le code et le tester sur son serveur wamp ? (avec une base, login/mdp et requête adapté bien sur).. juste pour voir que c'est pas une erreur de code :?:

merci

par Berzemus » 29 févr. 2008, 16:44

il ne cherche pas la classe pdo dans ta page, il dit juste ou se trouve l'erreur.

Moi je planche pour les modules qui ne sont pas chargés.. tu as essayé un phpinfo() ?

oui

par serveur3 » 29 févr. 2008, 16:25

oui, cela ne change rien..
je viens de regarder le code sur PHPteam avec leur codePDO.. j'ai recoder la même chose, et j'ai toujours la même réponse erreur..

pourquoi va t'il chercher la classe PDO au niveau de la page.php ? :(

d'ailleurs voici le code de la page en entier..

Code : Tout sélectionner

<?php $dsn="mysql:host=localhost;dbname=$db"; $db="onimmenu"; $user="root"; $pass=""; //------connexion--------- try { $pdo=new PDO($dsn,$user,$pass); } catch(PDOException $e) { die("Erreur !:". $e->getMessage()); } //-----------lecture d'enregistrements---------- $sql ="SELECT menu.cle, menu.valeur FROM oniam.menu"; $pdo_result=$pdo->query($sql); while ($ligne = $pdo_result->fetch()) { print_r($ligne); } //fermeture $pdo = null; ?>

par Hywan » 29 févr. 2008, 16:04

T'as bien redémarre Apache ?

coder avec PDO / mySQL--> Class PDO not found in G:\www\s

par serveur3 » 29 févr. 2008, 15:53

Bonjour,

J'ai bien :

-le module PDO et PDO Mysql (php_pdo et php_pdo_mysql.dll) activé dans le PHP ini,
- il est coché dans les extensions sur Wamp
- et j'ai bien libmysql.dll dans le system32 de windows.

voici mon code :

Code : Tout sélectionner

$user="root"; $pass=""; $dsn="mysql:host=localhost;dbname=publication"; //------connexion--------- try { $pdo=new PDO($dsn,$user,$user); } catch(PDOException $e) { die("Erreur !:". $e->getMessage()); }
le message qui m'est retourné est :
fatal error:Class 'PDO' not found in G:\www\laousetrouvemonsiteloca\classes\mapage.php

:( , quelqu'un sait-il pourquoi le moteur PHP ne va pas chercher les classes PDO, et va le chercher dans mapage.php ?

merci..