Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: tomy le le 07-04-2006 a 11:38:47

Titre: bug pour acces aux données de ma base SQL.
Posté par: tomy le le 07-04-2006 a 11:38:47

Lorsque je charge ma page, j'ai une erreur :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in *****\fiches.php on line 19

D'ou vient mon erreur ?

Comme autre question, j'aimerai savoir si pour afficher les resultats je dois mettre :
'.$data['$modele'].'
ou
$data['$modele']


Merci pour ces deux réponses, là je suis desespéré.

Voila mon code
Citation:
<?php
require_once('configuration.php');

session_start();
$helico=$_GET["helico"];

   sql_connect();
   $sql = 'SELECT * FROM helico_fiches WHERE $nom='.$helico.'';
   $result = mysql_query($sql);
   sql_close();
   
      while($data = mysql_fetch_array($result))
      {
      
         echo('
         <tr align="center">
         <td width="30%" align="left" class="texte"><b>Auteur :</b></td>
         <td align="left" class="texte"><i>'.$data['Pseudo'].'</i></td>
      </tr>
      <tr align="center"><td width="30%" align="left" class="texte"><b>Nom :</b></td>
         <td align="left">$data["nom"]</td>
      </tr>
      <tr align="center"><td width="30%" align="left" class="texte"><b>Modele :</b></td>
         <td align="left">'.$data['$modele'].'</td>
      </tr>
....

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: Vinz le le 07-04-2006 a 12:12:16

Salut,

Il manque peut-être des doubles cotes (") devant echo non? Si je dis faux, je ne savais pas que l'on pouvait mettre (' devant.
Sinon pour afficher tes variables les deux points servent a concatener tes données, c'est-à-dire simplement à les attacher ensemble, rien de plus.
Par contre tu utilise a chaque foi une syntaxe différente pour afficher tes résultats : le plus simple étant de donner une variable au résultat :
$pseudo = $data[pseudo]; // je ne crois pas que les cote soit obligatoire
$nom = $date[nom];
etc.
Et tu affiches simplement ensuite $pseudo, $nom etc.
Tu as une faute tout en bas :
'.$data['$modele'].'
Ce serait plutot :
'.$data['modele'].'

Voila.

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: tomy le le 07-04-2006 a 12:24:04

merci pour ces details mais mon gros pb est sur le

mysql_fetch_array()


Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: vertigo_76 le le 07-04-2006 a 12:25:04

Pour ta requette essaye ca:
$sql = "SELECT * FROM helico_fiches WHERE $nom='".$helico."'";

et apres ton $result = mysql_query($sql); rajoute un test pourvoir si il y a un message d'erreur mysql:

if(mysql_error() != ''){
echo '<p style="font-weight: bold; color: red;">Erreur dans l&amp;execution de la requette : '.mysql_error().'</p>';

En esperant t'avoir aiguillé sur la solution

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: tomy le le 07-04-2006 a 12:50:11

merci pour cette reponse !! ca va deja mieux !

il semblerait ke l'arreur vienne de ma definition d'argument :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=''' at line 1

apparement sur le : $helico=$_GET["helico"];

je ne comprend pas ou est le pb :

le lien est : ?nav=fiches&helico=Tigre

merci de votre aide
tomy

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: vertigo_76 le le 07-04-2006 a 13:03:52

Pour récupérer la valeur du get met des simpla cote au lieu de double:

$helico = $_GET['helico'];

De plus avant d'attribuer une valeur a une variable venant de l'url il serait bon de tester si elle existe et si elle correspond a ce que tu attend pour eviter les problème.

If(isset($_GET['helico']){
$helico = $_GET['helico'];
}else{
$helico = 'VALEUR_PAR_DEFAUT';
}

Bien sur tu peux rajouter d'autre teste pour affiner et protéger un peu ton site et éviter les message d'erreur qui géneront tes utilisateur pour la lecture du site.

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: tomy le le 07-04-2006 a 13:15:08

malheureusement j'ai toujours la mm erreur....

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: vertigo_76 le le 07-04-2006 a 14:15:51

Ha oui j'avais pas vu l'erreur:

$sql = 'SELECT * FROM helico_fiches WHERE $nom='.$helico.'';

$sql = "SELECT * FROM helico_fiches WHERE nom='".$helico."'";

ca devrait etre bon

Titre: Re:bug pour acces aux données de ma base SQL.
Posté par: tomy le le 07-04-2006 a 14:25:08

merci ca marche !! bravo a toi !


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.