Page 1 sur 2

Ma requete fonctionnait bien avant et maintenant ca deconne

Posté : 27 sept. 2005, 10:15
par freddes
voici le code a l'origine qui fonctionnait très bien chez mon hébergeur:

Code : Tout sélectionner

include ("../config.inc"); $connection = mysql_connect($host, $user, $password) or die ("Connexion impossible au serveur"); $db = mysql_select_db($database, $connection) or die ("La base de données ne peut pas être selectionnée"); $sqltitre = "SELECT * FROM actualite WHERE id=$id"; $resulttitre = mysql_query($sqltitre) //or die ("Impossible d'executer la requete"); $actutitre = mysql_fetch_array($resulttitre);
Il me sort :

Code : Tout sélectionner

Parse error: parse error, unexpected T_VARIABLE in /home...... in line 10

Et la ligne 10 c'est

Code : Tout sélectionner

$actutitre = mysql_fetch_array($resulttitre);

Je comprend plus ca marchait très bien avant j'ai fais aucun changement et maintenant ca déconne....

Posté : 27 sept. 2005, 10:18
par Cyrano
il manque un ";" à la fin de la ligne précédente :
$resulttitre = mysql_query($sqltitre);

Posté : 27 sept. 2005, 10:20
par mere-teresa
Et pour tester tes requêtes, n'oublie pas de les print ou echo.

Posté : 27 sept. 2005, 10:24
par freddes
Oui en fait c'est de ma faute, j'ai mis en commentaire juste en dessous ou se trouve le ;

Mais le problème c'est autre chose:

Avant j'anvoyai des données ds mes url du style:

site.com?id=$resultatrequete[0]

maintnenant ca ne fonctionne plus, le $resultatrequete[0] n'est pas définit alors qu'avant ca marchait je comprend plus

Il aurait changé une version de php ?

Posté : 27 sept. 2005, 10:28
par freddes
voila la page qui propose les liens:

Code : Tout sélectionner

$requete2 = "SELECT id,date,titre,actu FROM actualite ORDER BY id DESC LIMIT 3"; $result2 = mysql_query($requete2); while ($derniereactualite = mysql_fetch_array($result2)) { echo "<li>"; echo "$derniereactualite[1]&nbsp;:<a href='news.php?id=$derniereactualite[0]'><b>$derniereactualite[2]</b></a></li>"; // echo "<br/>"; } ?>

Posté : 27 sept. 2005, 10:31
par freddes
Et la page apres le clic sur le lien:

Code : Tout sélectionner

$sql = "SELECT * FROM actualite WHERE id=$id"; $result = mysql_query($sql) or die ("Impossible d'executer la requete"); $actu = mysql_fetch_array($result); ?> <p> <h2>Actualité du Club</h2> </strong></p> <? echo"<b>$actu[2]</b> Postée le $actu[1]<br><br><br>"; echo"$actu[3]"; ?>

Posté : 27 sept. 2005, 10:35
par freddes
Donc la bonne et nouvelle erreur est:

Code : Tout sélectionner

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Aux ligne 10 et 22 qui corespondent aux mysql_fetch_array

dans le code du haut

Posté : 27 sept. 2005, 10:40
par freddes
En cherchant un peu, j'ai l'impression que la valeur n'est pas renvoyée ds l'url donc il fait la requete sur un "id" nul

Le probleme c'est qu'avant cette valeur etait tres bien envoyée ds l'url de la page suivante

Posté : 27 sept. 2005, 10:42
par Cyrano
Hé, tu as le hoquet ? un message par nouvelle idée au lieu d'un seul, ce n'est pas spécialement facile à suivre.

Bon, comment est donc définie et initialisée la variable en question ?

Posté : 27 sept. 2005, 10:43
par mere-teresa
Je te redis, fais :
echo $requete2;
echo $sql;
Dans les pages respectives. Afin de savoir ce qu'est ta requête.

Posté : 27 sept. 2005, 10:54
par freddes
J'ai fait les echo mais vu que pas de requete alors ....

déja la requete de départ (requete2) fonctionne bien puisque l'url est cien complètée. (news.php?id=50)

C'est ds le fichier news que ca deconne, le $id=50 n'est pas recuperé

donc la requete ne se fait pas:
voici le code entier:

Code : Tout sélectionner

include ("../config.inc"); $connection = mysql_connect($host, $user, $password) or die ("Connexion impossible au serveur"); $db = mysql_select_db($database, $connection) or die ("La base de données ne peut pas être selectionnée"); $sqltitre = "SELECT * FROM actualite WHERE id=$id"; $resulttitre = mysql_query($sqltitre); //or die ("Impossible d'executer la requete"); $actutitre = mysql_fetch_array($resulttitre); include ("haut.php"); echo $sqltitre; echo $actutitre; ?> </div><div id="page"> <? $sql = "SELECT * FROM actualite WHERE id=$id"; $result = mysql_query($sql); //or die ("Impossible d'executer la requete"); $actu = mysql_fetch_array($result); ?> <p> <h2>Actualité du Club</h2> </strong></p> <? echo"<b>$actu[2]</b> Postée le $actu[1]<br><br><br>"; echo"$actu[3]"; ?> </div> <? include ("bas.php"); ?>
Je crois que la config php a changé, une histoire de "global" je sais plus tres bien ....

Posté : 27 sept. 2005, 10:57
par Cyrano
Ajoute en début de script :
$id = isset($_GET['id']) ?  isset($_GET['id'] : "";
Ça initialisera ta variable qui ne l'est probablement pas.

Posté : 27 sept. 2005, 10:59
par freddes
J'essaye ca, ce serait pas la config register global passée a OFF dés fois ???

Posté : 27 sept. 2005, 11:05
par freddes
Ca fonctionne pas:

Code : Tout sélectionner

Parse error: parse error, unexpected ':', expecting ',' or ')'
dans la ligne que tu vient de me donner

Posté : 27 sept. 2005, 11:40
par freddes
Bon apres recherche c'est une histoire de register global passé a off

Le problème c'est que je ne sais pas utiliser $_get['id'] dans mes requetes j'essaye mais j'ai plein d'erreur ....

Un peu d'aide merci