Bonjour.
Depuis 3 jours, j'ai une erreur que je n'arrive pas à comprendre. Pas à résoudre avec les ressources que j'ai pu trouver sur le sujet
L'erreur qui s'affiche à l'ecran est la suivante : Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ')' à la ligne 1 in C:\wamp64\www\PrTz\db.class.php on line 39
L'erreur semble venir du fichier qui se nomme panier.php et semble venir de mon implode.Ligne 21.
Je vais donc afficher mon code panier.php puis dans un second temps mon fichier db.class.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 <?php require "header.php";?> <?php var_dump($_SESSION);?> <div class="checkout*"> <div class="tittle"> <div class="wrap*"> <h2 class="first">Shpping Carts</h2> <a href="#*" class="proceed"> Proceed to Checkout</a> </div> </div> <div class="table"> <div class="wrap"> <div class="rowtittle"> <span class="name">Product name</span> <span class="price">Price</span> <span class="Quantity">Quantity</span> <span class="Subtotal">Subtotal</span> <span class="action">Action</span> <?php $ids= array_keys($_SESSION['panier']); $products= $DB->query('SELECT * FROM products WHERE id IN (' .implode(',',$ids). ')'); var_dump($products); ?> <div class='row '> <a href="#*" class="img"><img src="img/imgin.png"></a> <span class="name"> Curubitus nomus del warus</span> <span class="price"> 1320.09</span> <span class="quantity">1</span> <span class="Subtotal"> 1320.09</span> <span class="action"> <a href='#' class="del"><img src="img/del.png"></a> </span> </div> <div class='row grey'> <a href="#" class="img"*><img src="img/imgin.png"></a> <span class="name"> Curubitus nomus del warus</span> <span class="price">1320.09<span> <span class="quantity">1</span> <span class="Subtotal"> 1320.09</span> <span class="action"> <a href='#' class="del"><img src="img/del.png"></a> </span> </div> <div class="rowtotal"> Grand Total*: <span class="total">2640.18 </span> </div> </div> </div> </div> </div> </div> <?php require "footer.php"; ?>
Le fichier db.class.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 <?php class DB{ private $host='localhost'; private $username='root'; private $password=''; private $database='tuto'; private $db; public function __construct ($host=null,$username=null,$password=null,$database=null){ if($host!=null){ $this->host= $localhost; $this->username= $username; $this->password= $password; $this->database=$database; } try{ $this->db= new PDO('mysql:host='.$this->host. ';dbname='.$this->database,$this->username, $this->password, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', PDO::ATTR_ERRMODE=> PDO:: ERRMODE_WARNING )); }catch(PDOException $e){ die('<h1>Impossible de se connecter à la base de donnée</h1>'); } } public function query($sql,$data=array()){ $reg= $this->db->prepare($sql); $reg->execute($data); return $reg->fetchAll(PDO:: FETCH_OBJ); } }
Merci d'avance pour vos réponses et suggestion.
Partager