compteur vu nombre de fois sur articles

Petit nouveau ! | 1 Messages

29 nov. 2018, 10:29

Bjr,

Ayant fait un site Modèle Vu Contrôleur, je souhaite savoir combien de fois un article a été lu. J'ai créé dans ma BDD une colonne "vu" mediumint (8) not null et j'ai fait des recherches sur le net et ai pu trouver des scripts à cet effet. Sauf que lorsque je l'adapte à mon script du modèle et que je veux voir sur ma page vu qui s'affiche correctement sauf qu'en haut s'affiche le message suivant :

Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in /home/clients/site/http/modele/commentaire/get_billets.php on line 69

Le code est le suivant et j'y précise la ligne 69 :
<?php
function get_pdo_instance()
{
   $bdd = null;
   try
   {
      $bdd= new PDO('mysql:host=localhost;dbname=BDD','xxxx','PW');$bdd->exec('SET NAMES utf8');
   }
   catch(Exception $e)
   {
      die('Erreur : '.$e->getMessage());
   }
   return $bdd;
}

function recuperer_billet($id)
{
   $bdd = get_pdo_instance();
   $response = $bdd->prepare('SELECT id_billet, titre1,  contenu1,  DATE_FORMAT(date_de_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_de_creation_fr, vu FROM billets WHERE id_billet = :id_billet');
while($vu = mysql_fetch_row($sql)) // c'est la ligne 69
{
$nouvelvue=$vu[0]+1;
mysql_query('UPDATE billets SET vu ='.$nouvelvue.' WHERE id_billet=:id_billet');
}
   $response->bindValue(':id_billet', $id, PDO::PARAM_INT);
   $response->execute();
   return $response->fetch();
}  
Quelqu'un pourrait-il m'aider à comprendre d'où vient l'erreur svp.

Merci pour votre aide.

Mammouth du PHP | 2703 Messages

29 nov. 2018, 13:39

il ne faut pas mélanger les manières de se connecter à mysql, une fois en pdo, une fois avec les fonction dépassées mysql_
à noter qu'il n'est pas nécessaire de faire un select
UPDATE billets SET vu =vu+1 WHERE id_billet=:id_billet
suffit.