Probleme avec une requete select en php

Résolu
hugo -  
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'ai un problème avec ma requête select, quand je veux mettre un where dans celle ci ca ne marche pas

requête qui fonctionne :

        $resultats = $bdd->query("SELECT * FROM chat ORDER BY id DESC LIMIT 30");

        $messages = $resultats->fetchAll();

        var_dump($messages);



et quand je rajoute where pouf ca marche pas ;'(


$destination = xpersonne;

        $resultats = $bdd->query("SELECT * FROM chat WHERE destination = :destination ORDER BY id DESC LIMIT 30");
        $resultats->bindValue(':destination',$destination);

        $messages = $resultats->fetchAll();

        var_dump($messages);



j'ai tester de faire des
var_dumb($messages);


Select 1 :

ca me donne toutes les données

Select 2 :

l'erreur est la suivant

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ':destination ORDER BY id DESC LIMIT 30' à la ligne 1 in C:\wamp64\www\html\ltr\php\test.php on line 12
( ! ) PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ':destination ORDER BY id DESC LIMIT 30' à la ligne 1 in C:\wamp64\www\html\ltr\php\test.php on line 12

ligne 12 est la ligne de la requête
A voir également:

1 réponse

jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour,

Il ne faut pas utiliser la méthode QUERY mais PREPARE lorsque tu veux Binder des variables.
Puis EXECUTE pour exécuter la requête

Exemple (issu de la doc de php)
/* Exécute une requête préparée en associant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < :calories AND couleur = :couleur');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':couleur', $couleur, PDO::PARAM_STR);
$sth->execute();

0
hugo
 
Effectivement ca fontionne j'ai une petite question par la qui traine comment mettre une variable dans un zone de texte en js

ex :


const author_id = document.querySelector('#author');

requeteAjax.open("GET", "../php/chat.php?destination=${author_id}");



comment mettre l'id dans le lien ?
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746 > hugo
 
Autre question, Autre langage ... donc merci de créer une nouvelle discussion propre à ce nouveau "souci" dans le forum adéquat ( javascript )
0