Bonjour à tous,
Je viens de mettre en ligne chez free une application, une espece de webmapping dans laquelle je me sers dans ma base de donnée de champs "geometry" . Pour developper l'application, je l'ai fait en local avec EasyPHP 1.8.01., Mysql 4.1.9. Chez free, la version de mysql est MySQL 5.0.25.
Toujours est il que lorsque j'ai mis en ligne l'application que que j'ai chargée la base, il a reconnu les champs geometry et les données que j'ai importées l'ont été correctement.
Mais lorsque je charge les données, il y a des bugs.
Lorsque je fais une requette comme ceci:
J'obtiens à l'écran le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $SQL = "SELECT max(tdv_points.ID) AS ID FROM tdv_points INNER JOIN tdv_obs ON tdv_obs.ID_session=tdv_obs_session.ID_Session INNER JOIN tdv_obs_session ON tdv_points.ID=tdv_obs_session.ID_Lieux WHERE tdv_obs.Validite=2 OR tdv_obs.Validite=3"; $res = mysql_query($SQL); $tab=mysql_fetch_array($res); $nbr_pts=$tab['ID'];?>
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/138/sdc/4/0/guillaume.saez/log/ajout.php on line 15
Qui me fait en plus, par la suite, enchainer des erreurs par rapport à mon javascript, et du coup tout devient foireux.
La ligne 15 correspond à la requette d'en haut. En local, cela fonctionne trés bien. Comprend pô!
D'autant plus, que lorsque l'on va sur une autre page de ce site, ou je fais de nouveau appel à ces champs, la cela fonctionne trés bien!
Il me reconnait les champs et m'affiche correctement les valeurs des champs.
Je ne comprend pas. Ma premiere requete est bonne puisqu'elle marche ne local. Cela vient-il du type geography ou non? Sinon, d'ou cela peut il bien venir??
Edit:
Je viens de m'appercevoir d'une autre requette qu'il ne supporte pas, et qui fonctionnait trés bien en local:
toujours avec ces champs géographiques...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $Table2= mysql_query("SELECT AsText(tdv_points.Longitude) AS points, tdv_points.ID, tdv_points.nom FROM tdv_points INNER JOIN tdv_obs ON tdv_obs.ID_session=tdv_obs_session.ID_Session INNER JOIN tdv_obs_session ON tdv_points.ID=tdv_obs_session.ID_Lieux WHERE tdv_obs.Validite=2 OR tdv_obs.Validite=3 GROUP BY nom"); while ($Elt2= mysql_fetch_array($Table2)){ $points=$Elt2['points']; $lat=mysql_query("SELECT Y(GeomFromText('$points')) AS latitude FROM tdv_points"); $Elt3= mysql_fetch_array($lat); echo"latitude[".$i."]=".$latitude[$i]=$Elt3['latitude'].";"; $long=mysql_query("SELECT X(GeomFromText('$points')) AS longitude FROM tdv_points"); $Elt3= mysql_fetch_array($long); echo"longitude[".$i."]=".$longitude[$i]=$Elt3['longitude'].";"; echo "nom[".$i."]='".$Elt2['nom']."';"; echo "ID[".$i."]='".$Elt2['ID']."';"; $i++; }
Partager