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
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] :<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