Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai cette erreur :
PHP Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '36,67)' at line 1 in /Applications/MAMP/htdocs/panier/db.class.php on line 31
je ne sais pas d'ou ça vient c'est arrivé d'un coup !!
merci
La classe DB je l'ai testée personnellement
Elle fonctionne bien.
Tu dois faire une requête fausse.
Tu peux copier, coller le code dans lequel tu fais appel à la classe DB et où tu envoies en paramètre la requête
je sais pas ou se trouve le problème et sur quelle page ??
je mets la page db.class.php :
<?php
class DB{
private $host = 'localhost';
private $username = 'root';
private $password = 'root';
private $database = 'shop';
private $db;
public function __construct($host = null, $username = null, $password = null, $database = null){
if ($host != null) {
$this->host = $host;
$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('<h2>Connection impossible à la base de donnée !</h2>');
}
}
public function query($sql, $data = array()){
$req =$this->db->prepare($sql);
$req->execute($data);
return $req->fetchAll(PDO::FETCH_OBJ);
}
}
?>
Si tu lisais l'erreur au lieu de copier / coller bêtement le code en attendant que quelqu'un te la corrige, tu apprendrais et corrigererais cette erreur plus vite...
Je suis d'accord avec Perfectos, même si il n'aide pas.
C'est une erreur dans ta requête SQL, non pas un problème PHP. Si tu savais nous montrer la requête que tu essaie d'accomplir ça serait cool. C'est une simple erreur de syntaxe, tu as du oublier une virgule ou une paranthèse
Salut perfectos,
Si je viens ici c'est pour trouver de l'aide et pas pour avoir des leçons de morale !!
J'ai passé l'age d'en avoir mon petit!!
Et merci Arbiterox c'est juste une explication que je souhaitais !!