Erreur mysql

Fermé
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009 - 14 juil. 2008 à 16:56
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 14 juil. 2008 à 18:37
Bonjour,
structure de la table
-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- https://www.phpmyadmin.net/
--
-- Serveur: localhost
-- Généré le : Lundi 14 Juillet 2008 à 16:51
-- Version du serveur: 5.0.27
-- Version de PHP: 5.2.0
--
-- Base de données: `fuaj`
--

-- --------------------------------------------------------

--
-- Structure de la table `spip_fuaj_adherents`
--

CREATE TABLE `spip_fuaj_adherents` (
`id_adherent` int(10) NOT NULL auto_increment,
`nom` varchar(255) NOT NULL,
`prenom` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`adresse` varchar(255) NOT NULL,
`ville` varchar(255) NOT NULL,
`code_postal` int(5) NOT NULL,
`date_naissance` date NOT NULL,
`date_demande` date NOT NULL,
`demande_recu` date NOT NULL,
`demande_non_recu` date NOT NULL,
PRIMARY KEY (`id_adherent`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1384 ;


ce script me permet d 'afficher les info de la bdd

<html>
<head>
<title>modification de données en PHP :: partie 1</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;

//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
ORDER BY nom" ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->nom." ".$result->prenom." <a href=\"modification2.php?idnom=".$result->nom."\">modifier</a><br>\n") ;
}
?>
</body>
</html>

ce sccript devrait me permettre de visualiser les donnees
<html>
<head>
<title>modification de données en PHP :: partie 1</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;

//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
ORDER BY nom" ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->nom." ".$result->prenom." <a href=\"modification2.php?idnom=".$result->nom."\">modifier</a><br>\n") ;
}
?>
</body>
</html>

script permet de faire la modisf
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "INFOS" ) ;

//récupération des valeurs des champs:
//nom:
$nom = $_POST["nom"] ;
//prenom:
$prenom = $_POST["prenom"] ;
//adresse:
$adresse = $_POST["adresse"] ;
//code postal:
$cp = $_POST["codePostal"] ;
//numéro de téléphone:
$tel = $_POST["telephone"] ;

//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;

//création de la requête SQL:
$sql = "UPDATE personnes
SET nom = '$nom',
prenom = '$prenom',
adresse = '$adresse',
cp = '$cp',
telephone = '$tel'
WHERE id_personne = '$id' " ;

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


//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>

j 'ai tout le temps ce message
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 28

10 réponses

maad Messages postés 228 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 23 juin 2013 90
14 juil. 2008 à 17:06
Bonjour,
Que contient la ligne 28 dans ton fichier ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 17:10
salut,


tu pourrais faire un effort pour la rédaction de ton message, le code se met en forme avec ce bouton.

la ligne incriminée est celle-là :
</html>

ce qui ne correspond à rien…

la fonction incriminée est 'mysql_fetch_array()' qui n'est pas utilisée dans le script que tu nous fournis…

tu as dû faire des modifs ou tu ne nous fournis pas le bon script.

redonne-nous le message d'erreur complet plus la ligne incriminée de ton script ainsi que les lignes précédente et suivante, ça devrait suffire.

à plus
0
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
14 juil. 2008 à 17:16
dsl , voila le script de ma page modif.php
l erreur de la ligne 27 correspond if( $result = mysql_fetch_object( $requete ) )
et le message que j 'obtiens est Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 27

petite question l 'erreur ne viendrais pas de la ligne suivante
//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
WHERE id_adherent = ".$id ;

<html>
<head>
<title>modification de données en PHP :: partie2</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" );

//sélection de la base de données:
$db = mysql_select_db( "fuaj" );


//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idnom"] ;

//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
WHERE id_adherent = ".$id ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{
?>
<form name="insertion" action="modification3.php" method="POST">
<input type="hidden" name="adherent" value="<?php echo($id) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>ID</td>
<td><input type="text" name="id_adherent" value="<?php echo($result->id_adherent) ;?>"></td>
</tr>
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
</tr>
<tr align="center">
<td>email</td>
<td><input type="text" name="email" value="<?php echo($result->email) ;?>"></td>
</tr>
<tr align="center">
<td>adresse</td>
<td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
</tr>
<tr align="center">
<td>ville</td>
<td><input type="text" name="ville" value="<?php echo($result->ville) ;?>"></td>
</tr>
<tr align="center">
<td>code postal</td>
<td><input type="text" name="code_postal" value="<?php echo($result->code_postal) ;?>"></td>
</tr>
<tr align="center">
<td>date de naissance</td>
<td><input type="text" name="date_naissance" value="<?php echo($result->date_naissance) ;?>"></td>
</tr>
<tr align="center">
<td>date de demande</td>
<td><input type="text" name="date_demande" value="<?php echo($result->date_demande) ;?>"></td>
</tr>
<tr align="center">
<td>demande recu</td>
<td><input type="text" name="demande_recu" value="<?php echo($result->demande_recu) ;?>"></td>
</tr>
<tr align="center">
<td>demande non recu</td>
<td><input type="text" name="demande_non_recu" value="<?php echo($result->demande_non_recu) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 17:21
ta requête renvoie sans doute 'FALSE', pour contrer tu peux tester le type de '$requete' pour vérifier que ce soit bien resource.
if( is_resource( $requete ) && $result = mysql_fetch_object( $requete ) )

mais en premier il faudrait tester ta requête pour savoir si elle ne contient pas une erreur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
14 juil. 2008 à 17:24
je viens de tester , et je n 'ai plus le message d 'errue , mais une page blanche
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 17:31
donc ta requête renvoie 'FALSE', elle contient sans doute une erreur.

teste la dans PHPMyAdmin.
tu inseres ce qui est souligné :
//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
WHERE id_adherent = ".$id ;

echo $sql;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ; 

comme ça il va t'afficher la requête générée, tu pourras la copier/coller dans PHPMyAdmin.
0
jaydailfr Messages postés 121 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 24 juin 2009
14 juil. 2008 à 17:43
j'obtiens le ligne suivante
SELECT * FROM spip_fuaj_adherents WHERE id_nom = ALVES

dans le script suivant , je veux recuperer les donnees d"une table pour pouvoir les modifiers, mais maintenent je n 'obtiens que la ligne suivante : SELECT * FROM spip_fuaj_adherents WHERE id_nom = ALVES

<html>
  <head>
    <title>modification de données en PHP :: partie2</title>
  </head>
<body>
  <?php
  //connection au serveur:
 $cnx = mysql_connect( "localhost", "root", "" ); 
  
  //sélection de la base de données:
  $db = mysql_select_db( "fuaj" ); 

  
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["idnom"] ;
  
  //requête SQL:
  $sql = "SELECT *
            FROM spip_fuaj_adherents
				WHERE id_nom = ".$id ;
				echo $sql;


  //exécution de la requête:
  $requete = mysql_query( $sql, $cnx ) ;

 //affichage des données:
 if( is_resource( $requete ) && $result = mysql_fetch_object( $requete ) )
  {
  ?>
  <form name="insertion" action="modification3.php" method="POST">
    <input type="hidden" name="adherent" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
     <tr align="center">
      <td>ID</td>
      <td><input type="text" name="id_adherent" value="<?php echo($result->id_adherent) ;?>"></td>
    </tr>
	<tr align="center">
      <td>nom</td>
      <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
    </tr>
    <tr align="center">
      <td>prenom</td>
      <td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
    </tr>
	 <tr align="center">
      <td>email</td>
      <td><input type="text" name="email" value="<?php echo($result->email) ;?>"></td>
    </tr>
    <tr align="center">
      <td>adresse</td>
      <td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
    </tr>
	 <tr align="center">
      <td>ville</td>
      <td><input type="text" name="ville" value="<?php echo($result->ville) ;?>"></td>
    </tr>
    <tr align="center">
      <td>code postal</td>
      <td><input type="text" name="code_postal" value="<?php echo($result->code_postal) ;?>"></td>
    </tr>
    <tr align="center">
      <td>date de naissance</td>
      <td><input type="text" name="date_naissance" value="<?php echo($result->date_naissance) ;?>"></td>
    </tr>
	 <tr align="center">
      <td>date de demande</td>
      <td><input type="text" name="date_demande" value="<?php echo($result->date_demande) ;?>"></td>
    </tr>
	 <tr align="center">
      <td>demande recu</td>
      <td><input type="text" name="demande_recu" value="<?php echo($result->demande_recu) ;?>"></td>
    </tr>
	 <tr align="center">
      <td>demande non recu</td>
      <td><input type="text" name="demande_non_recu" value="<?php echo($result->demande_non_recu) ;?>"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
  <?php
 }//fin if 
  ?>
</body>
</html>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 17:51
dans le script suivant , je veux recuperer les donnees d"une table pour pouvoir les modifiers, mais maintenent je n 'obtiens que la ligne suivante : SELECT * FROM spip_fuaj_adherents WHERE id_nom = ALVES

• as-tu testé la requête servie dans PHPMyAdmin ?

• comprends-tu ce que tu codes ?
0
• as-tu testé la requête servie dans PHPMyAdmin ?
c 'est a dire ?


• comprends-tu ce que tu codes ?
non pas vraimement ,

tout ce que je veux faire .
j 'ai une bdd , je voudrais pourvoir la modifier ou ajouter des donnees via un formulaire , aurais tu un code plus simple.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 18:09
PHPMyAdmin permet de gérer es BDD MySQL, c'est le plus utilisé, je suppose que c'est ce que tu as.

à mon avis tu devrais te former un peu aux bases de PHP/MySQL avant de te lancer tête baissée, ça te fera gagner du temps.

regarde chez developpez.com, les deux premiers cours (pas besoins de tout lire d'un coup).

il y a aussi la section MySQL, avec en particulier les cours de Cyberzoïde.
0
merci pour ces liens ,

mais c 'est un peux urgent , je dois trouver une solution assez rapidement pour modifier ma bdd mysql via un formulaire

merci de ton aide
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 juil. 2008 à 18:37
les cours de Cyberzoïde…

il y en a un très court ou tu trouveras des codes et explications bien meilleurs que les miens.

pour utiliser un formulaire regarde .

pour ton code essaie de rajouter des apostrophes autour de ta variable.
//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
WHERE id_adherent = '$id'" ;
0