Ma requete fonctionnait bien avant et maintenant ca deconne

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:15

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....

Mammouth du PHP | 19672 Messages

27 sept. 2005, 10:18

il manque un ";" à la fin de la ligne précédente :
$resulttitre = mysql_query($sqltitre);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 sept. 2005, 10:20

Et pour tester tes requêtes, n'oublie pas de les print ou echo.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:24

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 ?

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:28

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/>"; } ?>

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:31

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]"; ?>

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:35

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

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:40

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

Mammouth du PHP | 19672 Messages

27 sept. 2005, 10:42

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 ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 sept. 2005, 10:43

Je te redis, fais :
echo $requete2;
echo $sql;
Dans les pages respectives. Afin de savoir ce qu'est ta requête.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:54

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 ....

Mammouth du PHP | 19672 Messages

27 sept. 2005, 10:57

Ajoute en début de script :
$id = isset($_GET['id']) ?  isset($_GET['id'] : "";
Ça initialisera ta variable qui ne l'est probablement pas.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 10:59

J'essaye ca, ce serait pas la config register global passée a OFF dés fois ???

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 11:05

Ca fonctionne pas:

Code : Tout sélectionner

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

Eléphanteau du PHP | 18 Messages

27 sept. 2005, 11:40

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