Bonjour,
Je rencontre un souci lié à la réalisation de requêtes via PDO, et le message d'erreur suivant :
J'ai d'abord réalisé une classe pour effectuer la connexion :Fatal error: Call to undefined method Connexion::query() in
J'ai ensuite dans ma page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php class Connexion { /* ********** */ /* Propriétés */ /* ********** */ /* private : seules les méthodes de la classe dans laquelle est définit l'attribut peuvent y accéder et le modifier protected : seules les méthodes de la classe et des éventuelles classes héritées peuvent accéder à l'attribut et le modifier public : tout le monde peut accéder à l'attribut en question. */ protected $dsn; protected $user; protected $password; /* ************ */ /* Constructeur */ /* ************ */ /* Connexion à une base ODBC avec l'invocation de pilote */ public function __construct() { $this->dsn = 'mysql:dbname=myDbData;host=localhost'; $this->user = 'root'; $this->password = ''; try { $connexion = new PDO($this->dsn, $this->user, $this->password); } catch (PDOException $e) { echo 'Connexion échouée : ' . $e->getMessage(); } return $connexion; } } ?>
Je tente enfin d'utiliser cette classe Connexion depuis un fichier php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php /* *************************** */ /* Auto-chargement des classes */ /* *************************** */ function LoadCl($cl) { // Inclusion de la classe passée en paramètre require ('../library/'.$cl.'.cl.php'); } //Enregistrement de la fonction en autoload pour qu'elle soit appelée à l'instanciation d'une classe (non déclarée) spl_autoload_register('LoadCl'); /* ******** */ /* Includes */ /* ******** */ include '/monFichier.php'; /* ********* */ /* Connexion */ /* ********* */ $connexion = new Connexion(); ?>
Par avance merci pour vos suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php public function getlast($lang, $number) { global $connexion; //Connexion à la DB, global->propriété existante $request = $connexion->query('SELECT * FROM myDBTable ORDER BY id DESC LIMIT 0,'.$number); return $request; } ?>
Philosophiste.
Partager