Erreur requete mysql
Fermé
mohiano
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
-helper- Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
-helper- Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
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
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
5 réponses
oui j'ai testé toute les choix mais sans aucune résultats, tu as des aidé pour m'aider en ce problème
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+
merci mpmp93 et merci pour tout le monde maintenant il fonctionne bien
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
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...