Modifier des données mysql via php

Fermé
Fitz Chivalry
Messages postés
38
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
29 septembre 2007
- 21 sept. 2007 à 10:41
 ima - 2 mai 2012 à 15:11
Bonjour à tous,

je me lance dans le php/mySQL à l'aide de tuto ici et là,
je voudrais modifier les données de ma base en suivant ce tuto :http://wiki.mediabox.fr/tutoriaux/php/inserer-modifier-supprimer-des-donne-php

la première page de modification marche nickel, mais lors de la deuxième j'ai ce message d'erreur :
"Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\standing_issues\admin\modify_data_two.php on line 24"

voici le code de la ligne 24 :

if( $result = mysql_fetch_object( $requete ) )

et voici le code de ma page :

<html>
<head>
<title>Modify Data - Page 2</title>
</head>
<body>
<?php
//connection to server:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//select data base
$db = mysql_select_db( "bombardier" ) ;

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

//requête SQL:
$sql = "SELECT * FROM standing_issue WHERE issue = ".$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="modify_data_three.php" method="POST">
<input type="hidden" name="id" value="<?php echo $id ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Issue</td>
<td><input type="text" name="issue" value="<?php echo $result->issue ;?>"></td>
</tr>
<tr align="center">
<td>Lead Depot</td>
<td><input type="text" name="lead_depot" value="<?php echo $result->lead_depot ;?>"></td>
</tr>
<tr align="center">
<td>Lead Derby</td>
<td><input type="text" name="lead_derby" value="<?php echo $result->lead_derby ;?>"></td>
</tr>
<tr align="center">
<td>Status</td>
<td><input type="text" name="status" value="<?php echo $result->status ;?>"></td>
</tr>
<tr align="center">
<td>Action Deadline</td>
<td><input type="text" name="action_deadline" value="<?php echo $result->action_deadline ;?>"></td>
</tr>
<tr align="center">
<td>Last Update</td>
<td><input type="text" name="last_update" value="<?php echo$result->last_update ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>

voilà, je ne vois pas où est l'erreur. si quelqu'un qui s'y connait pouvait m'aider ça serait super sympa.

Merci d'avance à tous qui pourront m'aider.

50 réponses

Fitz Chivalry
Messages postés
38
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
29 septembre 2007
10
25 sept. 2007 à 16:35
Merci à tous de vos réponse. Si j'ai bien compris le tutorial, les valeurs de la requêtes doivent être prises à partir de ma première page de modification dont voici le code :

<html>
<head>
<title>Modify Data - Page 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( "bombardier" ) ;

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

//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->issue." ".$result->lead_depot." ".$result->lead_derby." ".$result->status." ".$result->action_deadline." ".$result->last_update."
<a href=\"modification_donnees_2.php?idissue=".$result->issue."\">modify</a><br>\n" ;

}
?>
</body>
</html>

Après il y a le code de la deuxième page de modification :

<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( "bombardier" ) ;

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

//requête SQL:
$sql = "SELECT * FROM standing_issues WHERE idissue = '$id'" ;

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

//affichage des données:
if( $result = mysql_fetch_object( $requete ) or die($sql . mysql_error() )
{
?>
<form name="insert_modify_data" action="modify_data_three.php" method="POST">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Issue</td>
<td><input type="text" name="issue" value="<?php echo($result->issue) ;?>"></td>
</tr>
<tr align="center">
<td>Lead Depot</td>
<td><input type="text" name="lead_depot" value="<?php echo($result->lead_depot) ;?>"></td>
</tr>
<tr align="center">
<td>Lead Derby</td>
<td><input type="text" name="lead_derby" value="<?php echo($result->lead_derby) ;?>"></td>
</tr>
<tr align="center">
<td>Status</td>
<td><input type="text" name="status" value="<?php echo($result->status) ;?>"></td>
</tr>
<tr align="center">
<td>Action Deadline</td>
<td><input type="text" name="action_deadline" value="<?php echo($result->action_deadline) ;?>"></td>
</tr>
<tr align="center">
<td>Last Update</td>
<td><input type="text" name="last_update" value="<?php echo($result->last_update) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>

et le code de la troisième page de modif :

<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

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

//récupération des valeurs des champs:
$issue = $_POST["issue"] ;
$lead_depot = $_POST["lead_depot"] ;
$lead_derby = $_POST["lead_derby"] ;
$status = $_POST["status"] ;
$action_deadline = $_POST["action_deadline"] ;
$last_update = $_POST["last_update"] ;

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

//création de la requête SQL:
$sql = "UPDATE standing_issues
SET issue = '$issue',
lead_depot = '$lead_depot',
lead_derby = '$lead_derby',
status = '$status',
action_deadline = '$action_deadline'
last_update = '$last_update'
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("Modifications have been taken into account") ;
}
else
{
echo("La modification à échouée") ;
}
?>

Voilà, pour le while à la place du if, je pensais que ce "while" était celui présent dans la page de modif 1.
6