Erreur mysql

jaydailfr Messages postés 123 Statut Membre -  
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   -
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 261 Statut Membre 90
 
Bonjour,
Que contient la ligne 28 dans ton fichier ?
0
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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 123 Statut Membre
 
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 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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 123 Statut Membre
 
je viens de tester , et je n 'ai plus le message d 'errue , mais une page blanche
0
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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 123 Statut Membre
 
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 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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
jaydailfr
 
• 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 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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
jaydailfr
 
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 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
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