Bonsoir, J'ai une erreur de ce type lors d'un enregistrement dans une BDD => Remarque : tentative d'accès au décalage du tableau sur la valeur de type bool dans C:\wamp64\www\projet-images\class\imageManager.php à la ligne 85, 86, 87, 88

Voici mon code :

class/imageManager.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
<?php
 
class imageManager {
 
    private $db;
 
    public function __construct($db) {
 
        $this->setDb($db);
    }
 
    public function setDb(PDO $dbh) {
 
        return $this->db = $dbh;
    }
 
    public function addImage(Image $image) {
 
        try {
 
            $sql = 'INSERT INTO images(title, descr, filename) VALUES(:title, :descr, :filename)';
 
            $stmnt = $this->db->prepare($sql);
 
            $title = htmlspecialchars($image->getTitle());
            $descr = htmlspecialchars($image->getDescr());
            $filename = htmlspecialchars($image->getFilename());
 
            $stmnt->bindParam(':title', $title);
            $stmnt->bindParam(':descr', $descr);
            $stmnt->bindParam(':filename', $filename);
 
            $stmnt->execute();
        }
        catch(PDOException $e) {
 
            echo 'Erreur de requête ' . $e->getMessage();
        }
    }
 
    public function getImages($image_dir) {
 
        $i = 0;
 
        if($handle = opendir($image_dir)) {
 
            while(false !== ($entry = readdir($handle))) { 
 
                if($entry != "." && $entry != "..") {
 
                    $i++;
 
                    $images[$i]['filename'] = $entry;
 
                    $image_data = $this->getImageData($entry);
 
                    $images[$i]['title'] = $image_data['title'];
                    $images[$i]['descr'] = $image_data['descr'];
                }
            }
        }
 
        closedir($handle); 
 
        return $images; 
    }
 
    public function getImageData($filename) {
 
        try {
 
            $sql = 'SELECT id, title, descr, filename FROM images WHERE filename = :filename';
 
            $stmnt = $this->db->prepare($sql);
 
            $stmnt->execute(array(
 
                ':filename' => $filename
            ));
 
            $row = $stmnt->fetch();
 
            $image_data['id'] = $row['id'];
            $image_data['title'] = $row['title'];
            $image_data['descr'] = $row['descr'];
            $image_data['filename'] = $row['filename'];
 
            return $image_data;
        }
        catch(PDOException $e) {
 
            echo 'Erreur de requête ' . $e->getMessage();
        }
    }
}
Merci d'avance.