PDO:problem avec prepare function

Par Abdessamad, il y a 10 ans


Bonjour à tous,

j'ai recu ce problem :
Fatal error: Call to a member function prepare() on null in C:\xampp\htdocs\w\jquery\insertJquery\classo.php on line 31

<?php class classo { function connection(){ $db=new pdo ('mysql:host=localhost;dbname=pronostic','root',''); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); } function insererDonne($pseudo,$password) { global $db; classo::connection(); $donne=array( 'user' =>$pseudo, 'pass' =>$password ); $req="INSERT INTO users (user,pass) VALUES (:user,:pass)"; $sql=$db->prepare($req); $sql->execute($donne); } } $data=new classo(); $data->insererDonne('Jean','123456'); ?>

2 réponses

Carouge10, il y a 10 ans

Bonjour,

L'utilisation des fonctions d'un classe ne se fait pas ainsi.

<?php class machin { public $db = null; // Il y a aussi private et protected à la place de public..... ce qui sera à étudier function connection() { $this->db = new PDO(...); $this->db->set.....; } function insererDonne($pseudo,$password) { $this->connection(); $donne=array( 'user' =>$pseudo, 'pass' =>$password ); $req="INSERT INTO users (user,pass) VALUES (:user,:pass)"; $sql = $this->db->prepare($req); $sql->execute($donne); } }
Abdessamad, il y a 10 ans

Merci merci!! beaucoup pour votre aide.
et je n'ai plus de problème !!!