Call to a member function prepare() on a non-object
Bonjour, je viens d'hébergé mon site chez 1&1.
Je rencontre l'erreur
Citation:
Fatal error: Call to a member function prepare() on a non-object in /homepages/37/d353709206/htdocs/classes/class_livre.php on line 11
D'après ce que j'ai trouvé, ça serait un problème de version de php. Mais j'ai bien écris dans mon fichier .htaccess la ligne : AddType x-mapp-php5 .php
Code:
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
| <?php
class livre
{
private $selectAll;
private $insertAll;
private $deleteOne;
public function __construct($db)
{
$this->selectAll=$db->prepare("select * from livre order by date desc, heure desc ");
$this->insertAll=$db->prepare("INSERT INTO livre values (:idmessage, :pseudo, :message, :date, :heure)");
$this->deleteOne=$db->prepare("delete from livre where idmessage=:idmessage");
}
public function selectAll()
{
$this->selectAll->execute();
return $this ->selectAll->fetchAll();
}
public function insertAll($idmessage, $pseudo, $message, $date, $heure) // paramétres (valeurs insérées dans la table)
{
$this->insertAll->execute(array(':idmessage'=>$idmessage, ':pseudo'=>$pseudo, ':message'=>$message, ':date'=>$date, ':heure'=>$heure)); // execution de la requete
return $this->insertAll->rowCount(); // fetchall renvoie tout les resultats
}
public function deleteOne ($idmessage) // entre les () => paramètres
{
$this->deleteOne->execute(array(':idmessage'=>$idmessage));
return $this->deleteOne->rowCount();
}
}
?> |
Code:
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
| <?php
echo'<a href="index.php?page=ajoutmessage.php">Ajouter un message</a>';
echo'<form action="index.php?page=livre.php" method="POST">';
if (isset($_SESSION['login']))
{
if(isset($_POST['check']))
{
$check=$_POST['check'];
$livre=new livre($db);
foreach($check as $unlivre)
{
$nb=$livre->deleteOne($unlivre);
if ($nb!=1)
{
echo'Erreur';
}
}
}
}
$nbparpage=5;
if(isset($_GET['nopage']))
{
$nopage=$_GET['nopage']; // recup le num
}
else
{
$nopage=1;
}
$livre = new livre($db);
$listelivre=$livre -> selectAll();
if (count($listelivre)==0)
{
echo'Aucuns messages';
}
else
{
$ligne=0;
$prems=(($nopage-1)*$nbparpage);
$ligne=$prems;
$dernier=count($listelivre)-$prems;
if($dernier>$nbparpage)
{
$dernier=$nbparpage;
}
do //à '.$unlivre['heure'].'</div></th>
{
$unlivre=$listelivre[$ligne];
echo '<table class="entete">
<tr class="pseudo">
<th width="600px"><div class="test"> '.$unlivre['pseudo'].', le '.implode('/', array_reverse( explode('-',$unlivre['date']) ) ).'';
if (isset($_SESSION['login']))
{
echo' à '.$unlivre['heure'].'</div></th>';
}
else
{
echo'</div></th>';
}
if (isset($_SESSION['login']))
{
echo' <th><input type="checkbox" name="check[]" id="check[]" value="'.$unlivre['idmessage'].'"></th>
<th>'.$unlivre['idmessage'].'</th>';
}
echo'
</tr>
<tr class="message">
<th><div class="test2">'.$unlivre['message'].'</div></th>
</tr>
</table>';
$ligne=$ligne+1;
}
while($ligne<$dernier+$prems);
}
$nbPages=ceil(count($listelivre)/5);
echo'<div class="page"> ';
for ($i=1;$i<=$nbPages;$i++)
{
if($nopage!=$i)
{
echo'<a href="index.php?page=livre.php&nopage='.$i.'"><span class="numpage">'.$i.'</span></a>'; //page suivante
}
else
{
echo '<span class="numpageact"> '.$i.' </span>'; // page actuelle
}
}
echo'</div>';
if (isset($_SESSION['login']))
{
echo'<input type="submit" value="Supprimer" id="btSupprimer" name="btSupprimer"/></form>';
}
if($nopage>1) // il faut qu'il soit au minimum sur la page n°2 pour preceder.
{
$prec=$nopage-1;
}
else
{
$prec=1;
}
// echo '<a href="index.php?page=listemessage.php&nopage='.$prec.'">Précédent</a>';
if($nopage<$nbPages) // Sil le numéro de page actuelle et inferieur au nombre de page total
{
$suiv=$nopage+1; // il peut suivre
}
else
{
$suiv=$nbPages; // sinon il prend la dernière page
}
//echo '<a href="index.php?page=listemessage.php&nopage='.$suiv.'">Suivant</a>';
?> |