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
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."' ) ");
A voir également:

5 réponses

Je pense que tu as des soucis de " et ' . Ils ne sont pas similaire sur ton code
0
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
oui j'ai testé toute les choix mais sans aucune résultats, tu as des aidé pour m'aider en ce problème
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
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+
0
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
merci mpmp93 et merci pour tout le monde maintenant il fonctionne bien
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
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 +
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rimolas Messages postés 500 Date d'inscription mercredi 30 novembre 2011 Statut Membre Dernière intervention 18 janvier 2016 94
28 mai 2014 à 20:44
Pff.. Encore utiliser les mysql_query en 2014, c'est grave.
0
-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
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...
0