Pages : 1
#1 Le 30/09/2018, à 10:57
- minizebr95
Requête SQL qui passe seulement sur certains serveurs
Bonjour,
$reponse = $bdd->query("SELECT ville_nom_simple,$formule AS dist FROM villes_france_free WHERE $formule<= 15 && ville_population_2010 >=4000 ORDER by dist ASC LIMIT 0,10");
$numb=0;
while ($donnees = $reponse->fetch())
{
$vns = $donnees['ville_nom_simple'];
$arr1[]=$vns;
}
$reponse->closeCursor(); // Termine le traitement de la requête
Ceci passe en local sous xampp, passe sous mon vps sous centos 7, mais pas sous d'autres serveurs
Avez vous une idée de pourquoi ?
Je pose plein de questions
Hors ligne
#2 Le 30/09/2018, à 12:09
- Alex10336
Re : Requête SQL qui passe seulement sur certains serveurs
le && en trop ?
$reponse = $bdd->query("SELECT ville_nom_simple,$formule AS dist FROM villes_france_free WHERE $formule<= 15 AND ville_population_2010 >=4000 ORDER by dist ASC LIMIT 0,10");
« On ne répond pas à une question par une autre question. » (moi ;-) )
Hors ligne
#3 Le 01/10/2018, à 06:29
- minizebr95
Re : Requête SQL qui passe seulement sur certains serveurs
le && en trop ?
$reponse = $bdd->query("SELECT ville_nom_simple,$formule AS dist FROM villes_france_free WHERE $formule<= 15 AND ville_population_2010 >=4000 ORDER by dist ASC LIMIT 0,10");
Non ce n'est pas ça, même avec un AND c'est la même chose.
Le soucis doit être au niveau de ce code :
$formule="(6366*acos(cos(radians($latitude))*cos(radians(`ville_latitude_deg`))*cos(radians(`ville_longitude_deg`) -radians($longitude))+sin(radians($latitude))*sin(radians(`ville_latitude_deg`))))";
Enfin, j'ai l'impression que ceci doit passer sur certains serveurs mais pas tous. Mais je n'ai aucune idée du pourquoi du comment... si encore il était sûr que ce soit bien ça le problème. Mais je ne vois rien d'autre.
Je pose plein de questions
Hors ligne
#4 Le 01/10/2018, à 17:45
- krodelabestiole
Re : Requête SQL qui passe seulement sur certains serveurs
tu as un message d'erreur ?
tu as essayé d'entrer directement ta requête dans la console MySQL ?
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
En ligne
#5 Le 02/10/2018, à 12:36
- jlmas
Re : Requête SQL qui passe seulement sur certains serveurs
Réponse possible
Parce que tu tu n’utilises pas les mêmes versions de Mysql ou MariaDB et que la syntaxe que tu utilises n'est pas compatible avec toutes ces versions.
Pour connaitre la version utilisée
# mysql -V
Hors ligne
#6 Le 02/10/2018, à 17:25
- bruno
Re : Requête SQL qui passe seulement sur certains serveurs
Si tu actives les retours d'erreur ou si tu regardes les logs tu sauras exactement pourquoi « ça ne passe pas ».
#7 Le 04/10/2018, à 08:38
- minizebr95
Re : Requête SQL qui passe seulement sur certains serveurs
Merci pour vos réponses.
Je vais faire les essais. Sur un autre forum quelqu'un m'a dit qu'il suffisait d'utiliser des "requêtes préparées" et que ça suffirait à résoudre le problème.
Je vais essayer tout ça, et je vous dirai ce qu'il en est.
Je pose plein de questions
Hors ligne