php fetch Erreur while fetch

a marqué ce sujet comme résolu.

Bonjour

Je suis en train de suivre un cour de PHP et je me retrouve coincé à l'ouverture de ma page avec :

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in C:\xampp\htdocs.....\admin\index.php:35 Stack trace: #0 {main} thrown in C:\xampp\htdocs\burgercode\admin\index.php on line 35

J ai vérifié l'écriture lettre après lettre et je n arrive pas à trouver mon erreur , pourriez vous me donner un coup de main

En vous remerciant par avance

ci dessous mon code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php
require 'Database.php';
$db = database::connect();
$statement = $db->query('SELECT items.id, items.name, items.description, items.price, category.name AS category FROM items LEFT JOIN categories ON items.category=categories.id ORDER BY items.id DESC');
while($item = $statement->fetch())
{
    echo '<tr>';
    echo '<td>'. $item['name'] .'</td>';
    echo '<td>'. $item['description'] .'</td>';
    echo '<td>'. $item['price'] .'</td>';
    echo '<td>'. $item['category'] .'</td>';    
    echo '</tr>';           
}

?>

Merci pour la réponse , J ai pas trouvé l'erreur pour autant , d’où peut elle venir, de mon fichier de connexion sur la base ?

ci joint le code de connexion

 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
<?php

class Database
{

    private static $dbHost = "localhost";
    private static $dbName ="burger_code";
    private static $dbUser = "root";
    private static $dbUserPassword = "";

    private static $connection = null;


    public static function connect()
    {
            try
            {
                self::$connection = new PDO("mysql:host=" . self::$dbHost . ";dbName=" . self::$dbName,self::$dbUser,self::$dbUserPassword);
            }
            catch(PDOException $e)
            {
                    die($e->getMessage());
            }
            return self::$connection;
    }       

        public static function disconnect() 
        {
            self::$connection = null;
        }

}



?>

merci pour ta réponse

J'ai ajouté la ligne

 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
<?php

class Database
{

    private static $dbHost = "localhost";
    private static $dbName ="burger_code";
    private static $dbUser = "root";
    private static $dbUserPassword = "";

    private static $connection = null;


    public static function connect()
    {
            try
            {

                self::$connection = new PDO("mysql:host=" . self::$dbHost . ";dbName=" . self::$dbName,self::$dbUser,self::$dbUserPassword);
                self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            }


            catch(PDOException $e)
            {
                    die($e->getMessage());
            }
            return self::$connection;
    }       

        public static function disconnect() 
        {
            self::$connection = null;
        }

}



?>

ligne 36 correspond

1
2
ORDER BY items.id DESC');
                                                while($item = $statement->fetch())

en réponse : Fatal error: Uncaught PDOException: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected in C:\xampp\htdocs\burgercode\admin\index.php:36 Stack trace: #0 C:\xampp\htdocs\burgercode\admin\index.php(36): PDO->query('SELECT items.id…') #1 {main} thrown in C:\xampp\htdocs\burgercode\admin\index.php on line 36

<!DOCTYPE html>

<html> <title>index</title>

 <meta charset="utf-8">
<meta name="viewport" content="width=device-width; initial-scale=1">
<script src="https://ajax.googleapis.com/ajx/libs/jquery/1.11.3/jquery.min.js"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <script src="https://maxcdn.bootstrap.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <link href='http://font.googleapis.com/css?family=holwood + SC' rel='stylesheet'type='text/css'> <link rel="stylesheet" type="text/css" href="deco.css"> </head> <body> <h1 class="text-logo"><span class="glyphicon glyphicon-"></span> Bienvenue dans votre Pret-à-Porter

<div class="container admin"> <div class="row"> <h1><strong>Liste des items </strong><a href="#" class="btn btn-success btn-lg"><span class="glyphicon glyphicon-plus"></span> Ajouter</a></h1>

   <table class="table table-stiped table-bordered">
      <thead>
        <tr>
          <th>Nom</th>
          <th>Prix</th>
          <th>Categorie</th>
          <th>Action</th>
        </tr>
      </thead>
     <tbody>
         <?php 
          require'database.php';
          $db = Database::connect(); 
          $PDOStatement = $db->query(' SELECT items.id, items.name, items.price, categries.name AS category
                                        FROM items LEFT JOIN categories ON items.category = categories.id 
                                         ORDER BY items.id DESC');
               while ($item =statement->fetch())
                 {
                     echo'<tr>';
                     echo '<td>' . $items['name'] . '</td>';
                     echo '<td>' . $items['price'] . '</td>';
                     echo '<td>' . $items['category'] . '</td>';
                     echo '<td width=300>';
                     echo '<a class="btn btn-default" href="view.php?id='. $items['id'] .'"><span class="glyphicon glyphicon-eye-open"></span> Voir</a>';
                     echo  '';
                     echo '<a class="btn btn-primary" href="update.php?id='. $items['id'] .'"><span class="glyphicon glyphicon-pencil"></span> Modifier</a>';
                     echo '';
                     echo '<a class="btn btn-danger" href="delete.php?id='. $items['id'] .'"><span class="glyphicon glyphicon-remove"></span> Supprimer</a>';
                     echo '</td>';
                     echo '</tr>';
                 }

                  ?>

      
      </tbody>

</html>

Je suis en train de suivre un cour de PHP et je me retrouve coincé à l’ouverture de ma page avec :

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in C:\xampp\htdocs…..\admin\index.php:35 Stack trace: #0 {main} thrown in C:\xampp\htdocs\burgercode\admin\index.php on line 35

J ai vérifié l’écriture lettre après lettre et je n arrive pas à trouver mon erreur , pourriez vous me donner un coup de main

aideé moi s’il plait

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte