Php class
Fermé
wikilili
Messages postés
197
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
12 février 2014
-
27 mai 2012 à 18:24
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 - 29 mai 2012 à 21:26
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 - 29 mai 2012 à 21:26
A voir également:
- Php class
- Easy php - Télécharger - Divers Web & Internet
- Bouton php - Forum PHP
- Realtek audio background process class ✓ - Forum Pilotes (drivers)
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
5 réponses
Comme il est dit : Fatal error: Non-static method PDO::prepare() cannot be called statically
Cela signifie que PDO::prepare n'est pas une méthode statique, et qu'il s'agit donc d'une méthode d'instance.
$bdd étant une instance de la classe PDO, il faut appeler "prepare" ainsi :
$bdd->prepare
Cela signifie que PDO::prepare n'est pas une méthode statique, et qu'il s'agit donc d'une méthode d'instance.
$bdd étant une instance de la classe PDO, il faut appeler "prepare" ainsi :
$bdd->prepare
shikanara_177
Messages postés
565
Date d'inscription
dimanche 1 août 2010
Statut
Membre
Dernière intervention
1 mai 2016
69
27 mai 2012 à 18:36
27 mai 2012 à 18:36
Qu'elle est l'erreur qui est affiché à ton écran stp ? :P
wikilili
Messages postés
197
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
12 février 2014
2
27 mai 2012 à 18:46
27 mai 2012 à 18:46
bon j'ai modifier le code en ca : voila la nouvelle erreur
Fatal error: Non-static method PDO::prepare() cannot be called statically, assuming $this from incompatible context in C:\Program Files\EasyPHP-5.3.7RC4\www\dreamweaver\mini\tet.php on line 25
et voila le code
<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=labo', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
class membres{
var $nom;
var $prenom;
function __construct($n,$p){
$this->nom=$n;
$this->prenom=$p;
}
function addmember(){
$no=$this->nom;
$pre=$this->prenom;
$req="insert into info_membres values ('','$no','$pre','','','')";
$statm=PDO::prepare($req);
$res=$statm->exec();
}
}
$membre=new membres('bn','you');
$membre->addmember();
?>
Fatal error: Non-static method PDO::prepare() cannot be called statically, assuming $this from incompatible context in C:\Program Files\EasyPHP-5.3.7RC4\www\dreamweaver\mini\tet.php on line 25
et voila le code
<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=labo', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
class membres{
var $nom;
var $prenom;
function __construct($n,$p){
$this->nom=$n;
$this->prenom=$p;
}
function addmember(){
$no=$this->nom;
$pre=$this->prenom;
$req="insert into info_membres values ('','$no','$pre','','','')";
$statm=PDO::prepare($req);
$res=$statm->exec();
}
}
$membre=new membres('bn','you');
$membre->addmember();
?>
wikilili
Messages postés
197
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
12 février 2014
2
29 mai 2012 à 09:50
29 mai 2012 à 09:50
mercii
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
wikilili
Messages postés
197
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
12 février 2014
2
29 mai 2012 à 17:11
29 mai 2012 à 17:11
<?php
class members{
var $id;
var $nom;
var $prenom;
var $tel;
var $email;
var $type;
function __construct(){
require_once("cnx.php");
$req="select * from info_membres ";
$statement=$bdd->query($req);
$member=$statement->fetch();
$this->id=$member['id'];
$this->nom=$member['nom'];
$this->prenom=$member['prenom'];
$this->tel=$member['tel'];
$this->email=$member['email'];
$this->type=$member['type'];
}
function display_member(){
echo $this->id;
echo $this->nom;
echo $this->prenom;
echo $this->tel;
echo $this->email;
echo $this->type;
}
}
$p=new members();
$p->display_member();
?>
comment proceder pour afficher tous les membres?? mercii
class members{
var $id;
var $nom;
var $prenom;
var $tel;
var $email;
var $type;
function __construct(){
require_once("cnx.php");
$req="select * from info_membres ";
$statement=$bdd->query($req);
$member=$statement->fetch();
$this->id=$member['id'];
$this->nom=$member['nom'];
$this->prenom=$member['prenom'];
$this->tel=$member['tel'];
$this->email=$member['email'];
$this->type=$member['type'];
}
function display_member(){
echo $this->id;
echo $this->nom;
echo $this->prenom;
echo $this->tel;
echo $this->email;
echo $this->type;
}
}
$p=new members();
$p->display_member();
?>
comment proceder pour afficher tous les membres?? mercii
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 29/05/2012 à 20:01
Modifié par JooS le 29/05/2012 à 20:01
Salut !
On utilise plus var avant les declarations des variables, mais plutot !
public, private ou protected
private : Pour ne pas pouvoir y accéder directement a partir d'une instance créée, et que cette variable ne va pas être hérité.
protected : Même chose, sauf que la variable peut être hérité.
Hmm donc tu peux faire quelque chose dans ce genre !
On utilise plus var avant les declarations des variables, mais plutot !
public, private ou protected
private : Pour ne pas pouvoir y accéder directement a partir d'une instance créée, et que cette variable ne va pas être hérité.
protected : Même chose, sauf que la variable peut être hérité.
Hmm donc tu peux faire quelque chose dans ce genre !
<?php class members { private $cnx; public function __construct(){ require_once('cnx.php'); $this->cnx = $bdd; } public function display_members($number) { $found = false; $req = 'SELECT * FROM students'; if(is_numeric($number)) $req .= ' WHERE id = '.$number; else if($number != 'All') return false; $statement = $this->cnx->query($req); while($datas = $statement->fetch()) { $found = true; echo '<p>'.$datas['nom'].'</p>'; } if(!$found) { if($number == 'All') echo 'Aucun utilisateur trouvé.'; else echo 'Utilisateur introuvable.'; return false; } return true; } } $p = new members(); $p->display_members('All'); $p->display_members(1); $p->display_members(547); ?>
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
29 mai 2012 à 20:19
29 mai 2012 à 20:19
Sinon, pour ne pas trop solliciter la BD !
On enregistre le tout dans un tableau, et on travaille la dessus directement !
On enregistre le tout dans un tableau, et on travaille la dessus directement !
class members { private $cnx; private $members = array(); //Liste des membres; public function __construct(){ require_once('cnx.php'); $this->cnx = $bdd; $req = 'SELECT * FROM students'; $statement = $this->cnx->query($req); while($datas = $statement->fetch()) array_push($this->members,$datas); } public function display_members($number) { $found = false; if(!is_numeric($number) && $number == 'All') { foreach($this->members AS $datas) { echo '<p>'.$datas['nom'].'</p>'; if($found != true) $found = true; } } else if(is_numeric($number)) { foreach($this->members AS $datas) if($datas['id'] == $number) { echo '<p>'.$datas['nom'].'</p>'; $found = true; break; } } if(!$found && $number == 'All') echo 'Aucun utilisateur trouvé.'; else if(!$found) echo 'Utilisateur introuvable.'; } }
wikilili
Messages postés
197
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
12 février 2014
2
29 mai 2012 à 21:26
29 mai 2012 à 21:26
merciiiiiiiiiiiiii bcpppppppppppp