[RESOLU] php MYSQL select

Eléphanteau du PHP | 40 Messages

29 sept. 2020, 09:16

Bonjour,
j'essaye de créer une messagerie
Lorsque l'utilisateur envoie un messages j'aimerais mettre à jour la conversation (via JS).
Pour pas dupliquer les messages, dans ma requête SQL j'envoie l'id de la dernière message.
Voici mon code

Code : Tout sélectionner

$messages ="SELECT * FROM `messages` WHERE fromuser=? OR fromuser=? AND touser=? OR touser=? AND id > ? "; $stmt = $link->prepare($messages); $stmt->bind_param('iiiii', $userid, $fromuser, $userid, $fromuser, $lastid); if($stmt->execute()) { $result = $stmt->get_result(); $row = $result->fetch_array(MYSQLI_ASSOC); // this does work :) }
mais cela ne marche pas car j'obtiens toute les lignes au lieu de id > id de la derniere message.
Une idée svp?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 sept. 2020, 09:41

Bonjour,

Teste ta requête dans phpmyadmin, et si elle fonctionne, vérifie la valeur de tes variables avec var_dump()
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 40 Messages

29 sept. 2020, 09:44

Bonjour,

Teste ta requête dans phpmyadmin, et si elle fonctionne, vérifie la valeur de tes variables avec var_dump()
Bonjour merci pour ta réponse, en effet ça en marche pas, je dois utiliser un autre opérateur que AND id >? sinon c'est normal que ça sélectionne toute la table.
Une idée?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 sept. 2020, 09:46

Utiliser des parenthèses pour gérer l'ordre de priorité du AND par rapport aux OR j'imagine ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 40 Messages

29 sept. 2020, 09:50

Utiliser des parenthèses pour gérer l'ordre de priorité du AND par rapport aux OR j'imagine ?
si simple que ça... merci ça fonctionne!