Bonjour,
Moi aussi j'ai le même problème ("Fatal error: Call to a member function query() on a non-object in [...]" ), mais j'ai bien mis la classe mysqli dans ma classe ;-(
Je pense que c'est une histoire de droit ou de mauvais héritage des fonctions ? Une idées ?
<?php
class classeBdd {
private $serveurSQL;
private $userSQL;
private $passSQL;
private $baseSQL;
private $mysqli;
private $requete;
private $result;
function classeBdd($host, $user, $pass, $base) {
$this->serveurSQL = $host;
$this->userSQL = $user;
$this->passSQL = $pass;
$this->baseSQL = $base;
$this->mysqli = NULL;
}
public function connect($db) {
if( $db != NULL ) {
$this->mysqli = new mysqli($this->serveurSQL, $this->userSQL, $this->passSQL, $this->baseSQL);
if ( !$this->mysqli ) {$this->erreur('Connexion impossible à la base de données. Appuyez sur la touche F5 de votre clavier.');}
}
}
public function requete($requete, $i) {
$this->requete = $this->mysqli->query($requete);
if( !$this->requete ) {$this->erreur('Impossible d\'effectuer la requête.');}
}
public function fetchAssoc($i) {
$temp = $this->mysqli->fetch_assoc();
return $temp;
}
public function getNbLignes($i) {
$temp = $this->mysqli->num_rows();
return $temp;
}
public function getNbModifs() {
$temp = $this->mysqli->affected_rows();
return $temp;
}
public function deconnect() {
$this->mysqli->close();
}
public function erreur($erreur) {
echo '<div align="center"><table border="1" cellpadding="0" cellspacing="0" width="300" height="100" bordercolor="#CC0000">
<tr><td valign="middle" bgcolor="#FAFAFA"><p align="center"><strong><font face="Verdana" size="2"><u><font color="#CC0000">Erreur : '.$erreur.'</font></u> </font></strong></td>
</tr></table></div>';
}
}
?>
Merci d'avance.
Cordialement
Nicolas