IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

valeur retournée ou non where ID_PRODUIT=".$ID


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut valeur retournée ou non where ID_PRODUIT=".$ID
    Bonjour, est ce que quelqu'un pourrait m'aider sur la résolution du message d'erreur suivant:Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\projet\Apache2\htdocs\test\modif2.php on line 25

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <html>
      <head>
        <title>modification de données en PHP :: partie2</title>
      </head>
    <body>  <?php
      //connection au serveur:
      $cnx = mysql_connect( "localhost", "root", "root" ) ;
     
      //sélection de la base de données:
      $db = mysql_select_db( "test" ) ;
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $ID  = $_GET["id"] ;
     
      //requête SQL:
        $sql = "SELECT *
    FROM `produit`
    WHERE ID_PRODUIT =".$ID;
     
      //exécution de la requête:
      $requete = mysql_query( $sql ) ;
      echo($ID);
      //affichage des données:
      while( $result = mysql_fetch_object( $requete ) ) //ligne 25
      {
      ?><form name="insertion" action="modif3.php" method="POST">
      <input type="hidden" name="ID_PRODUIT" value="<?php echo($ID) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
        <tr align="center">
          <td>nom produit</td>
          <td><input type="text" name="NOM_PRODUIT" value="<?php echo($result->NOM_PRODUIT) ;?>"></td>
        </tr>
        <tr align="center">
          <td>code produit</td>
          <td><input type="text" name="CODE_TYPE_PRODUIT" value="<?php echo($result->CODE_TYPE_PRODUIT) ;?>"></td>
        </tr>
        <tr align="center">
          <td>demandeur</td>
          <td><input type="text" name="DEMANDEUR" value="<?php echo($result->DEMANDEUR) ;?>"></td>
        </tr>
        <tr align="center">
          <td>fournisseur</td>
          <td><input type="text" name="NOM_PRODUIT_FOURNISSEUR" value="<?php echo($result->NOM_PRODUIT_FOURNISSEUR) ;?>"></td>
        </tr>
        <tr align="center">
          <td>id fabricant</td>
          <td><input type="text" name="ID_FABRICANT" value="<?php echo($result->ID_FABRICANT) ;?>"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>  <?php
      }//fin if 
     
      ?></body>
    </html>

    Merci d'avance!

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    déjà:
    • injecter directement une valeur dans une requête permet les attaques par injection...
    • l'extension mysql n'est plus maintenue et va être abandonnée... tu dois utiliser pdo ou mysqli pour te connecter à mysql

    ton erreur veut dire que ta requête ne s'exécute pas ou génère une erreur (ou les commandes de connexion et de sélection de bd n'ont pas marché)...

    il faut toujours prévoir si chacune des étapes se passe bien ou pas... et ne pas espérer que ça marchera toujours... faire un code en cas d'erreur et les actions normales sinon...


  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ PROTECTION contre injection SQL :
    => intval(...) pour les entiers,
    => mysql_real_escape_string() pour le reste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      $ID  = (isset($_GET["id"]))? intval($_GET["id"]) : 0;
      //requête SQL:
        $sql = "SELECT *
    FROM `produit`
    WHERE ID_PRODUIT = '".$ID."';";
    2/ Passer à PDO : Comprendre PDO

Discussions similaires

  1. LEFT JOIN qui retourne des valeurs NULL et non NULL
    Par devman2011 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 29/08/2012, 18h05
  2. SQL et GUID : Valeur de caractère non valide pour la ....
    Par jackfirst72 dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/03/2007, 10h46
  3. valeur retournée d'une fonction
    Par jokos2000 dans le forum Oracle
    Réponses: 8
    Dernier message: 29/06/2005, 12h21
  4. [VB.NET] Recherche ds dg., valeur affiche ou non?
    Par Pleymo dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/02/2005, 21h21
  5. select avec un nombre limité de valeurs retournées
    Par felix79 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/12/2004, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo