Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Voici ma requête pour l'ajout dans le panier
$products = $DB->query('select * from produits where reference in(' . implode(', ', array_map(array($DB, 'quote'), $ids)) . ')');

M'est indiqué qu'il y a une erreur dans ce bout de code :
public function query($sql, $data = array()){
$req =$this->db->prepare($sql);
$req->execute($data);
return $req->fetchAll(PDO::FETCH_OBJ);
}

Je pense que le soucis vient du implode, phpmyadmin n'a pas l'air d'apprécier, merci d'avance pour votre aide

Ce que je veux

Ce que j'obtiens

Warning: array_map() expects parameter 1 to be a valid callback, class 'DB' does not have a method 'quote' in C:\xampp\htdocs\web\panier.php on line 25

Warning: implode(): Invalid arguments passed in C:\xampp\htdocs\web\panier.php on line 25

1 réponse


Bonjour.
Pour commencer, PHPMyadmin, n'a rien à voir avec la requête SQL.
Ensuite, l'erreur est explicite, il t'est indiqué que la classe DB dont ferait référence la variable $DB, n'a pas de méthode quote, donc à priori la variable $DB et donc PDO ne doit pas avoir de connexion établie à mon avis.