Page 1 sur 1

mysql_fetch_object(): supplied argument is not a valid MySQL

Posté : 12 sept. 2013, 12:23
par anguetone
Bonjour
je suis étudiant en developpement web, j'apprend le php et j'ai fait une application et j'ai un probleme au niveau de la modification des donneés de ma bases;


mon programme fonctione comme suit:


je recupère le numero de la piece du client puis toute les données concernant le client a la page 2 et j'effectue les modifications.
mais le problemeest que j'obtient une erreur:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\hotelgest\modification\modif_client2.php on line 55

la premiere page est:
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>modif_client1</title>
<link rel="stylesheet" type="text/css" href="../css/style.css">
</head>
<body>
<header>
<div id="header">
entete
<?php  echo"the date of the day is ", date('h:i , l  j-m-y'); ?>
</div> 
</header>
<div id="menu">
bienvenue <?php  echo htmlentities(trim($_SESSION['hotel_pseudo'])); ?>!<br/>
<a href="../deconnexion.php"> Deconnexion</a>
</div>
<div id="menu-droit">
menu droit
</div>
<div  id="contenu">
<div id="main">
<marquee><h3>VOUS ÊTES CONNECTE EN TANT QUE : <i><strong><?php  echo htmlentities(trim($_SESSION['hotel_pseudo'])); ?></strong>!</i></h3><br/></marquee>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<form method="post" action="">
<label>ENTRER LE N° DE LA PIECE D'IDENTITE:</label> <input type="text" name="client_npcid"/>
<input type="submit" value="Envoyer">
</form>
<div  id="icone">
<?php
//connexion
$cnx=mysql_connect("localhost", "root", "");
//selection de la bd
$db=mysql_select_db("hotelgest", $cnx);
if($_POST)
{
//requete sql:
$sql="SELECT * FROM client where client_npcid='".$_POST['client_npcid']."' ";
//execution de la requete
$requete=mysql_query($sql, $cnx);

while($result = mysql_fetch_object($requete))

{
    if ($result){
echo("<div align=\"center\">".$result->client_npcid." ".$result->client_nom."  ".$result->client_pren."<a href=\"modif_client2.php?client_npcidclient=".$result->client_npcid."\">modifier</a>\n");
           //include 'modif_client2.php';
    
}

else
{
echo 'Aucun resultat trouver';   
}
}

}
?>
</div>
</div>
</footer>
</body>
</html>


ma deuxieme page est
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>modif_client2</title>
<link rel="stylesheet" type="text/css" href="../css/style.css">
</head>
<body>
<header>
<div id="header">
entete
<?php  echo"the date of the day is ", date('h:i , l  j-m-y'); ?>
</div> 
</header>
<div id="menu">
bienvenue <?php  echo htmlentities(trim($_SESSION['hotel_pseudo'])); ?>!<br/>
<a href="../deconnexion.php"> Deconnexion</a>
</div>
<div id="menu-droit">
menu droit
</div>
<div  id="contenu">
<div id="main">
<marquee><h3>VOUS ÊTES CONNECTE EN TANT QUE :   <i><strong><?php  echo htmlentities(trim($_SESSION['hotel_pseudo'])); ?></strong>!</i></h3><br/></marquee>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div  id="icone">
<?php
//connexion
$cnx=mysql_connect("localhost", "root", "");
//selection de la bd
$db=mysql_select_db("hotelgest", $cnx);
//recup de l'URL
//ce qui nous permet de savoir quel enregistrement modifier
$npcid=$_GET['client_npcidclient'];
//création de la requete

$sql="SELECT * FROM client WHERE client_npcid=".$npcid;

//exécution de la requete

$requete=mysql_query($sql, $cnx);

//affichage des données:

if($result=mysql_fetch_object($requete))
{
?>
<center><form action="modif_client3.php" method="post"><fieldset><legend> MODIFICATION DES CLIENT(E)S :</legend>
<?php if (isset($erreur)) echo '<br />',$erreur;?>
<p><label>N° PIECE D'IDENTITE :</label> <input type="text" name="client_npcid" value="<?php echo ($result->client_npcid); ?>"></p>
<p><label>NOM :</label> <input type="text" name="client_nom" value="<?php echo ($result->client_nom); ?>"></p>
<p><label>PRENOMS :</label> <input type="text" name="client_pren" value="<?php echo ($result->client_pren); ?>"></p>
<p><label>DATE DE NAISSANCE (Année-Mois-Jour) :</label> <input type="text" name="client_datenais" value="<?php echo ($result->client_datenais);?>"></p>
<p><label>NATIONALITE :</label> <input type="text" name="client_nat" value="<?php echo ($result->client_nat); ?>"></p>
<p><label>TELEPHONE : </label><input type="text" name="client_tel" value="<?php echo ($result->client_tel);?>"></p>
<p><label>ADRESSE POSTALE : </label><input type="text" name="client_bp" value="<?php echo ($result->client_bp);?>"></p>
<p><label>FONCTION :</label> <input type="text" name="client_fonct" value="<?php echo ($result->client_fonct); ?>"></p>
<p><label>VILLE DE PROVENANCE :</label> <input type="text" name="client_vilprov" value="<?php echo ($result->client_vilprov); ?>"></p>
<p><label>VILLE DE RESIDENCE :</label> <input type="text" name="client_vilres" value="<?php echo ($result->client_vilres); ?>"></p>
<p><label>RAISON DE SEJOUR :</label> <input type="textarea" name="client_raissej" value="<?php echo ($result->client_raissej); ?>"></p>
<p><label>EMPLOYEUR :</label> <input type="text" name="client_employeur" value="<?php echo ($result->client_employeur); ?>"></p>
<input type="submit" name="Modifier" value="Modifier"><input type="reset" name="Annuler" value="Annuler">
</fieldset></form></center>
<?php
}
?>
</div>
</div>
<footer>
<div id="footer">
</div>
</footer>
</body>
</html>

Re: php

Posté : 12 sept. 2013, 18:41
par xTG
Regardes ce que te retournes mysql_query.
Pour avoir le message d'erreur tu peux utiliser la fonction mysql_error().

Re: php

Posté : 19 oct. 2013, 03:42
par anguetone
merci

Re: php

Posté : 19 oct. 2013, 08:44
par sirakawa
$sql="SELECT * FROM client where client_npcid='".$_POST['client_npcid']."' ";
print "<br/>$sql";die();

Re: php

Posté : 19 oct. 2013, 12:48
par sirakawa
Et au pasage,il est inutile de donner comme titre : PHP. On se doute un peu qu'il ne s'agit pas de la recette du tournedos Rossini.

Re: php

Posté : 19 oct. 2013, 12:55
par anguetone
j'ai trouvé une methode assez rapide merci pour votre aide

Re: mysql_fetch_object(): supplied argument is not a valid M

Posté : 19 oct. 2013, 13:44
par moogli
Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.