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 :

Paramètre fonction incorrecte [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 24
    Par défaut Paramètre fonction incorrecte
    Bonjour,

    J'ai un soucis avec la requête mysql_fetch_array, j'obtiens l'erreur
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Users\Jean-Vincent\Desktop\Projet_Magasin\demandemodif.php on line 25

    Pourtant ma requête me semble correcte .

    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
     
    <?php
            session_start();
    	include './magasin.php';/*Fichier comprenant la fonction connexion*/
    	if(!(isset($_SESSION['Status'])))
    		{
    			header('Location : Index.php');
    			die();
     
    		}
    	else if ($_SESSION['Status']==1)
    	{
    		if(isset($_GET['ID']))
    		{
    			$ID=$_GET['ID'];
    			ConnectDB();
    			@mysql_connect("localhost","root","") or die("Impossible de se connecter:".mysql_error());/*Connexion  à la base de données*/
    			mysql_select_db('Projet') or die("Impossible de se connecter:".mysql_error());/*Sélection de la table a afficher*/ /*Affichage lors d'une erreur*/
    			$sql="SELECT FROM magasin WHERE ID=".$ID.";";/*Demande de requête*/
    			$result=mysql_query($sql);
    			if(!result)
    				{
    					die("Impossible d'exécuter la requête:".mysql_error());/*Demande de requête*/
    				}
    			while($data=mysql_fetch_array($result))
    				{
    					$RefFabriquant=$_POST['RefFabriquant'];
    					$Designation=$_POST['Designation'];
    					$Distributeur=$_POST['Distributeur'];
    					$RefDistrib=$_POST['RefDistrib'];
    					$Boitier=$_POST['Boitier'];
    					$Quantite=$_POST['Quantite'];
    				}
    			mysql_close();
    		}
    ?>

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Très mauvaise habitude de cacher les erreurs en préfixant les fonctions php avec @.
    ajoute un or die(mysql_error()) derrière ton mysql_query.
    Je pense que tu sais à quel point ton utilisation de $_GET['ID'] dans la requête sans protection peut constituer une faille de sécurite (injection sql).
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par HoWeR Voir le message
    ma requête me semble correcte .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="SELECT FROM magasin WHERE ID=".$ID.";";/*Demande de requête*/
    C'est que tu n'es pas trop exigeant.
    J'aurais bien vu des noms de colonnes après SELECT, genre ceux-là :
    RefFabriquant,Designation,Distributeur,RefDistrib,Boitier
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par HoWeR Voir le message
    Bonjour,

    J'ai un soucis avec la requête mysql_fetch_array, j'obtiens l'erreur
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Users\Jean-Vincent\Desktop\Projet_Magasin\demandemodif.php on line 25
    Il est où le mysql_num_rows() dans le code ?

    Le message signifie que tu passes en paramètre à la fonction une variable qui n'est pas le résultat d'un mysql_query.

    Le problème n'est donc pas du SQL mais du PHP.

    Ceci dit, Maljuna Kris a raison. En plus, ta requête est fausse !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 24
    Par défaut
    Petite erreur de ma part j'ai pas copier la bonne erreur ! C'est bon j'ai résolus mon soucis

  6. #6
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Alors ce serait sympa que tu marques ce post comme réslou.
    Amike.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de paramètre fonction
    Par sone47 dans le forum MATLAB
    Réponses: 10
    Dernier message: 31/01/2007, 20h39
  2. [VBA-E]paramètre fonction et tableau
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2007, 09h56
  3. [C#] Paramètres fonctions
    Par Nico28 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/12/2006, 11h26
  4. Paramètres fonctions utilisation
    Par KinF dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/07/2006, 22h46
  5. Récupérer paramètre fonction
    Par masseur dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/06/2006, 11h51

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