Requête SQL anomalie
Résolu/Fermé
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
-
Modifié le 5 juil. 2022 à 22:32
franksh Messages postés 38 Date d'inscription dimanche 8 juillet 2018 Statut Membre Dernière intervention 25 juin 2023 - 6 juil. 2022 à 14:48
franksh Messages postés 38 Date d'inscription dimanche 8 juillet 2018 Statut Membre Dernière intervention 25 juin 2023 - 6 juil. 2022 à 14:48
A voir également:
- Requête SQL anomalie
- Requete sql commence par ✓ - Forum Webmastering
- Requete http - Guide
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
- Soustraction sql - Forum Programmation
7 réponses
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
5 juil. 2022 à 22:33
5 juil. 2022 à 22:33
Bonjour,
Active la gestion des erreurs PDO à la connexion et place l'exécution de ta requête dans un bloc try/catch comme expliqué ici
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Active la gestion des erreurs PDO à la connexion et place l'exécution de ta requête dans un bloc try/catch comme expliqué ici
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
5 juil. 2022 à 22:57
5 juil. 2022 à 22:57
Oui j'ai oublié de le noté j'ai essayer d'abord avec les parenthèses j'avais le même problèmes
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
5 juil. 2022 à 22:58
5 juil. 2022 à 22:58
ce n'est pas par ce que ça n'a pas corrigé ton souci actuel .. qu'il ne faut pas les mettre ....
Comme je te l'ai dit dans mon premier message.. active la gestion des erreurs PDO pour connaitre la cause du souci
Comme je te l'ai dit dans mon premier message.. active la gestion des erreurs PDO pour connaitre la cause du souci
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
5 juil. 2022 à 23:13
5 juil. 2022 à 23:13
ca return
Array
(
[:id_tow] => 1
[:id_one] => 1524
[:id_article] => 17
)
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
5 juil. 2022 à 23:30
5 juil. 2022 à 23:30
Ça devrait également te retourner un message d'erreur....
Peux-tu nous partager le code tel que tu l'as modifié j'ai l'impression que tu n'as pas bien pris tout ce qu'il fallait
Peux-tu nous partager le code tel que tu l'as modifié j'ai l'impression que tu n'as pas bien pris tout ce qu'il fallait
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
>
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
5 juil. 2022 à 23:35
5 juil. 2022 à 23:35
La voici
$user_one = '1524';
$user_tow = '1';
$id = '17';
$sql = "SELECT t.contenu
FROM marketchat t
WHERE (t.id_sender = :id_tow
AND t.id_receiver = :id_one )
OR ( t.id_sender = :id_one
AND t.id_receiver = :id_tow )
AND id_article = :id_article";
$req = array(
':id_tow'=>$user_tow,
':id_one'=> $user_one,
':id_article' =>$id
);
try{
$requete = $db -> prepare($sql);
$requete->execute($req);
$re = $requete->fetchAll(PDO::FETCH_OBJ);
}catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
print_r($req);
echo "</pre>";
}
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
>
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
5 juil. 2022 à 23:54
5 juil. 2022 à 23:54
Et donc, que ta fiche le écho de l'erreur ?
Sûrement un message indiquant que le nombre de variables n'est pas bon...
Sûrement un message indiquant que le nombre de variables n'est pas bon...
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
6 juil. 2022 à 00:07
6 juil. 2022 à 00:07
Enfaite quand je place le print_r et echo de pre dans le catch sa return rien du tout mais quand je le place a l'exterieur du catch ce la que sa m'affiche
ma connexion au bdd
Array
(
[:id_tow] => 1
[:id_one] => 1524
[:id_article] => 17
)
ma connexion au bdd
try { $db = new PDO("mysql:host=$host_name; dbname=$database;", $user_name, $password); $db->exec('SET NAMES utf8mb4'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->query('SELECT * FROM users'); } catch (PDOException $e) { echo "Erreur!: " . $e->getMessage() . "<br/>"; die(); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
6 juil. 2022 à 01:15
6 juil. 2022 à 01:15
Et si après le fetchall tu fais un Var_dump
de $re
Qu'est-ce que ça t'affiche ?
de $re
Qu'est-ce que ça t'affiche ?
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
6 juil. 2022 à 01:17
6 juil. 2022 à 01:17
N'obtiens-tu pas le bon résultat ?
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
>
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
6 juil. 2022 à 03:21
6 juil. 2022 à 03:21
Non toujours pas le bon je fait un boucle sur $re sur id_article
j'obtiens
2
2
17
17
alors que dans $id tout la haut je déclare $id = '17';
j'obtiens
2
2
17
17
alors que dans $id tout la haut je déclare $id = '17';
<?php foreach ($re as $k): ?> <p><?= $k->id_article; ?></p> <?php endforeach; ?>
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
>
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
6 juil. 2022 à 07:51
6 juil. 2022 à 07:51
Je t'ai demandé de faire un var_dump
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
6 juil. 2022 à 13:40
6 juil. 2022 à 13:40
un var_dump de $re renvoi
array(5) { [0]=> array(4) { ["contenu"]=> string(32) "1 pour 1524" [0]=> string(32) "1 pour 1524" ["id_article"]=> string(1) "2" [1]=> string(1) "2" } [1]=> array(4) { ["contenu"]=> string(40) "1524 to 1" [0]=> string(40) "1524 to 1" ["id_article"]=> string(1) "2" [1]=> string(1) "2" } [2]=> array(4) { ["contenu"]=> string(106) " id 17 C'est article est-il toujours disponible? " [0]=> string(106) " id 17 C'est article est-il toujours disponible? " ["id_article"]=> string(2) "17" [1]=> string(2) "17" } [3]=> array(4) { ["contenu"]=> string(14) "oui 1 toujours" [0]=> string(14) "oui 1 toujours" ["id_article"]=> string(2) "17" [1]=> string(2) "17" } [4]=> array(4) { ["contenu"]=> string(0) "" [0]=> string(0) "" ["id_article"]=> string(2) "17" [1]=> string(2) "17" } }
jordane45
Messages postés
37727
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2023
4 618
6 juil. 2022 à 14:26
6 juil. 2022 à 14:26
oui, désolé, il manque encore des parenthèses dans ta requête
WHERE ( (t.id_sender = :id_tow AND t.id_receiver = :id_one ) OR ( t.id_sender = :id_one AND t.id_receiver = :id_tow ) ) AND id_article = :id_article";
franksh
Messages postés
38
Date d'inscription
dimanche 8 juillet 2018
Statut
Membre
Dernière intervention
25 juin 2023
6 juil. 2022 à 14:48
6 juil. 2022 à 14:48
Merci vraiment
la c'est bon je récupère bien les bon données
la c'est bon je récupère bien les bon données
5 juil. 2022 à 22:35