Erreur requete mysql
Fermé
mohiano
Messages postés
28
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
11 septembre 2015
-
12 mai 2014 à 11:31
-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 - 29 mai 2014 à 16:26
-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 - 29 mai 2014 à 16:26
Bonjour,
j'ai réaliser un code PHP de réservation il est ça marche bien en local mais lorsque j'ai transféré le code en ligne ne ça marche pas vous pouvez me aider et merci d'avance
voila la requête qui fait le bug dans le script :
$rech2=mysql_query("select * from reservation where reservation.Chambre_Nom='".$book_room_type."' and (reservation.Date_début BETWEEN '".$book_date_from1."' AND '".$book_date_to1."' OR reservation.Date_fin BETWEEN '".$book_date_from1."' AND '".$book_date_to1."' ) ");
j'ai réaliser un code PHP de réservation il est ça marche bien en local mais lorsque j'ai transféré le code en ligne ne ça marche pas vous pouvez me aider et merci d'avance
voila la requête qui fait le bug dans le script :
$rech2=mysql_query("select * from reservation where reservation.Chambre_Nom='".$book_room_type."' and (reservation.Date_début BETWEEN '".$book_date_from1."' AND '".$book_date_to1."' OR reservation.Date_fin BETWEEN '".$book_date_from1."' AND '".$book_date_to1."' ) ");
A voir également:
- Erreur requete mysql
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Mysql community server - Télécharger - Bases de données
- Erreur 1001 outlook - Accueil - Bureautique
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
5 réponses
mohiano
Messages postés
28
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
11 septembre 2015
12 mai 2014 à 13:29
12 mai 2014 à 13:29
oui j'ai testé toute les choix mais sans aucune résultats, tu as des aidé pour m'aider en ce problème
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 340
12 mai 2014 à 13:37
12 mai 2014 à 13:37
Bonjour,
Il faut "factoriser" les AND comme ceci avec des parenthèses:
cd = condition
(cd1 AND cd2) OR (cd3 AND cd4)
A+
Il faut "factoriser" les AND comme ceci avec des parenthèses:
cd = condition
(cd1 AND cd2) OR (cd3 AND cd4)
A+
mohiano
Messages postés
28
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
11 septembre 2015
12 mai 2014 à 13:47
12 mai 2014 à 13:47
merci mpmp93 et merci pour tout le monde maintenant il fonctionne bien
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 340
Modifié par mpmp93 le 12/05/2014 à 15:20
Modifié par mpmp93 le 12/05/2014 à 15:20
C'est simple, pour l'avenir, notez les AND par * et les OR par +, vous obtenez:
(cd1 AND cd2) OR (cd3 AND cd4)
qui devient:
(cd1 * cd2) + (cd3 * cd4) ==> fonctionne évidemment pas en SQL, c'est juste pour l'explication
Les règles de mise en parenthèse des opérateurs logiques AND et OR obéissent aux mêmes règles que les opérateurs arithmétiques * et +
(cd1 AND cd2) OR (cd3 AND cd4)
qui devient:
(cd1 * cd2) + (cd3 * cd4) ==> fonctionne évidemment pas en SQL, c'est juste pour l'explication
Les règles de mise en parenthèse des opérateurs logiques AND et OR obéissent aux mêmes règles que les opérateurs arithmétiques * et +
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
28 mai 2014 à 20:44
28 mai 2014 à 20:44
Pff.. Encore utiliser les mysql_query en 2014, c'est grave.
-helper-
Messages postés
89
Date d'inscription
mercredi 21 mai 2014
Statut
Membre
Dernière intervention
15 juin 2014
27
Modifié par -helper- le 29/05/2014 à 16:33
Modifié par -helper- le 29/05/2014 à 16:33
Je pense que c'est le cadet de leur soucis !...
Quand je fais un programme "HelloWorld" mon but n'est pas d'atteindre perfection...
L'important à ce niveau c'est de comprendre comment ça marche... et pas qu'est ce qui est le plus performant, le plus portable, etc... Mais je suis d'accord que la rigueur de PDO (en utilisant les requêtes préparées) par exemple pourrait leur apporter beaucoup...
Et sinon tu proposais quoi puisque tu es si intelligent ? Dispense nous tes conseils, moi je n'ai qu'une envie, c'est de m'améliorer...
Quand je fais un programme "HelloWorld" mon but n'est pas d'atteindre perfection...
L'important à ce niveau c'est de comprendre comment ça marche... et pas qu'est ce qui est le plus performant, le plus portable, etc... Mais je suis d'accord que la rigueur de PDO (en utilisant les requêtes préparées) par exemple pourrait leur apporter beaucoup...
Et sinon tu proposais quoi puisque tu es si intelligent ? Dispense nous tes conseils, moi je n'ai qu'une envie, c'est de m'améliorer...