par
Pierre_Onyx » 05 sept. 2019, 12:07
Bonjour,
J'effectue actuellement le cours de PHP sur OpenClassrooms. sur le TP minichat, je rencontre l'erreur suivante:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ''0', '10'' à la ligne 1 in C:\wamp64\www\TP\minichat\minichat.php on line 28
J'ai regardé sur plusieurs forums mais je n'ai rien trouvé qui ressemblait à sa.
mon code est le suivant, l'erreur est sur la ligne de "execute()" lors de l'insertion des variables:
Code : Tout sélectionner
<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=minichat;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e){
die('Erreur : ' . $e->getMessage());
}
if(isset($_GET['page'])){
$nlimitsup = $_GET['page']*10;
$nlimitinf = $nlimitsup-10;
}else{
header('Location: minichat.php?page=1');
}
$response = $bdd->prepare('SELECT pseudo, message FROM message ORDER BY id DESC LIMIT :limitinf, :limitsup ');
$response->execute(array(
'limitinf' => $nlimitinf,
'limitsup' => $nlimitsup,
));
// $response = $bdd->query('SELECT pseudo, message FROM message ORDER BY id DESC LIMIT 0,10');
La dernière ligne, en commentaire, est le code de base et fonctionne très bien.
Je pense que s'est une erreur assez simple, mais je ne la trouve pas....
Bonjour,
J'effectue actuellement le cours de PHP sur OpenClassrooms. sur le TP minichat, je rencontre l'erreur suivante:
[quote]Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ''0', '10'' à la ligne 1 in C:\wamp64\www\TP\minichat\minichat.php on line 28[/quote]
J'ai regardé sur plusieurs forums mais je n'ai rien trouvé qui ressemblait à sa.
mon code est le suivant, l'erreur est sur la ligne de "execute()" lors de l'insertion des variables:
[code]<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=minichat;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e){
die('Erreur : ' . $e->getMessage());
}
if(isset($_GET['page'])){
$nlimitsup = $_GET['page']*10;
$nlimitinf = $nlimitsup-10;
}else{
header('Location: minichat.php?page=1');
}
$response = $bdd->prepare('SELECT pseudo, message FROM message ORDER BY id DESC LIMIT :limitinf, :limitsup ');
$response->execute(array(
'limitinf' => $nlimitinf,
'limitsup' => $nlimitsup,
));
// $response = $bdd->query('SELECT pseudo, message FROM message ORDER BY id DESC LIMIT 0,10');[/code]
La dernière ligne, en commentaire, est le code de base et fonctionne très bien.
Je pense que s'est une erreur assez simple, mais je ne la trouve pas....