( ! ) Fatal error: Call to a member function fetch() on a no

Mammouth du PHP | 702 Messages

15 mars 2012, 11:30

Bonjour à tous, j'ai cette requête ci qui me renvoit ce message d'erreur (sus-indiqué en titre). je ne comprends pas . pouvez vous m'aider svp?
<table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
             <td align="center">libell&eacute;</td>
             <td align="center">montant</td>
             <td align="center">client</td>
           </tr> <?php 
try {
$sql = 'SELECT * FROM liasses where n_doss='.$_GET['n_doss'].'';
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
while ($donnees = $result->fetch()) {
?>
           <tr>
             <td> <?php echo $result['libelle'] ; ?></td>
             <td><?php echo $result['montant'] ; ?></td>
             <td><?php echo $result['cient'] ; ?></td>
           </tr>
         </table> <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête

}
catch(Exception $e)
{
    // En cas d'erreur précédemment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}


?>
D'avance merci.

ViPHP
xTG
ViPHP | 7331 Messages

15 mars 2012, 11:55

Tu mélanges la librairie PDO avec les fonctions de la famille mysql_xxx.
Il faut utiliser soit l'un ou soit l'autre. ;)

Mammouth du PHP | 702 Messages

15 mars 2012, 13:04

ah d'accord merci. Tu recommandes lequel et pourquoi ?

ViPHP
xTG
ViPHP | 7331 Messages

15 mars 2012, 13:12

Je te recommande PDO car il permet d'accéder à d'autres SGBD que MySQL.
Et je te déconseille les fonction mysql_xxx car elles sont dépassées et sans aucune mise à jour depuis un bon moment.
Si tu ne souhaites pas utiliser PDO, je te recommande d’utiliser MySQLi qui est une version à jour des drivers MySQL.