Modifier un enregistrement en php

Résolu
Bonjour,
j'ai le code suivant a traver le quel je peut partir vers un autre code modif.php
 echo '<td bgcolor="#CCCCCC"><a href="modif.php?n='.$row->idt.' target="mainFrame">Modifier </a></td>'; 



et la page modif.php est la suivante :

<html>
<body>

<?php  
 
$connexion = mysql_connect('localhost', 'root', '') OR die('Erreur de connexion');        
     mysql_select_db('iptables') OR die('Sélection de la base impossible');
     $id = $_GET["n"] ;     
      
     //requête SQL: 
  $sql = "SELECT * 
            FROM iptables2
	    WHERE idt=$id" ;   
 
  //exécution de la requête:  
  $requete = mysql_query( $sql) ;
 
  //affichage des données:
  if( $result = mysql_fetch_array( $requete ) ) 
  {
  ?>  
  <form name="insertion" action="modif1.php" method="POST">
  <input type="hidden" name="id" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2"> 
    <tr align="center"> 
      <td>Option 1</td> 
      <td><input type="text" name="A" value="<?php echo($result->A) ;?>"></td>     
    </tr>
    <tr align="center">
      <td>Chaine :</td>
      <td><input type="text" name="chaine" value="<?php echo($result->chaine) ;?>"></td> 
    </tr>
    <tr align="center">
      <td>Option 2</td>
      <td><input type="text" name="p" value="<?php echo($result->p) ;?>"></td> 
    </tr>
    <tr align="center">
      <td>Porotocole réseau</td>
      <td><input type="text" name="port" value="<?php echo($result->port) ;?>"></td> 
    </tr>
    <tr align="center">
      <td>Option3</td>
      <td><input type="text" name="dp" value="<?php echo($result->dp) ;?>"></td> 
    </tr>
    <tr align="center">
      <td>Numéro de por</td>
      <td><input type="text" name="Input" value="<?php echo($result->Input) ;?>"></td> 
    </tr>
<tr align="center">
      <td>Option4</td> 
      <td><input type="text" name="j" value="<?php echo($result->j) ;?>"></td> 
    </tr>
<tr align="center">
      <td>Police : </td> 
      <td><input type="text" name="police" value="<?php echo($result->police) ;?>"></td> 
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
  <?php
  }//fin if 
  mysql_close();
  ?>
</body>
</html>
   

le message d'erreur est :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/xampp/html/fichier/modif.php on line 19

ce code est concacrer pour modifier un enregistrement mais je ne paut pas comprendre l'erreur s'il vous plait aider moi
Configuration: Linux Fedora
Firefox 3.5

6 réponses

  1. Ajoute le code suivant :

    //exécution de la requête:
    $requete = mysql_query( $sql) or die(mysql_error());

    Ta requete SQL doit etre faux ... mais pour savoir exactement, ce bout de code, va te dire exactement ce qui ne va pas ;-P
    1. il m'afficher le msg suivant :

      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 3
      1. remplace
        $sql = "SELECT *
        FROM iptables2
        WHERE idt=$id" ;

        par
        $sql = "SELECT *
        FROM iptables2
        WHERE idt='".$id."'" ;

        Je pense que cela passera mieux ... En effet, la valeur du champ que tu saisis doit etre entre cote simple.
        Fais meme un print $sql; pour nous montrer la tete de la requete ... ( sauf si si ma syntax marche, bien sur ;-P )
        1. avec votre code ca n'affiche rien
          et lorsque j'ai fais print($sql) on a ca :
          SELECT * FROM iptables2 WHERE idt=' target='

          mais ce koi ce target=???
          1. tu as oublie de fermer tes guillemets. Ce qui fait que Target est rentre dans $id et par la suite, dans ta commande SQL.

            echo '<td bgcolor="#CCCCCC"><a href="modif.php?n='.$row->idt.'" target="mainFrame"
            1. merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
              c tres gentil de ta part