Impossible de modifier des données dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Impossible de modifier des données dans une table

par oOTHCOo » 10 mai 2006, 15:55

J'ai trouvé d'ou venait le problème c'était une erreur d'étourderies :roll:.
Dans la descriptions de mes tables le champ "id" avait un I majuscule

Code : Tout sélectionner

array("Id","Nom","Prenom"),
(trop pas fait gaffe :P)

Merci pour ton aide (m'en serai pas rendu compte tout de suite sinon :D )

par zeus » 10 mai 2006, 15:23

ca veut dire qu'il ne trouve pas le champs id dans la table

essaye de faire afficher la requete avant le mysql_query() pour voir quelle tete elle a

par oOTHCOo » 10 mai 2006, 15:21

Désoler j'avais poster rapidement j'avais zapper :)

j'obtient ça :
Unknown column 'id' in 'where clause'
Je vois pas trop ce que sa veut dire :? apparemment il n'arrive pas à trouver les données de la table (suis pas tro à l'aise en PHP :roll: )

par zeus » 10 mai 2006, 15:11

1ere regle en debugage : afficher les messages d'erreur ;)

le message d'alerte dit que la requete a echouée :arrow: essaye d'afficher l'erreur de la requete
$select=mysql_query("select * from $table_utilisee where id=\"$id\"") or die(mysql_error());

par oOTHCOo » 10 mai 2006, 15:07

J'obtient ça en message d'avertissement
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/Projet/admin_bdd.php
En espérant que sa puisse d'aider

peace

par charabia » 10 mai 2006, 15:01

J'ai un avertissement à cette ligne $res=mysql_fetch_array($select);
Quelle est l'avertissement que tu as ?

Impossible de modifier des données dans une table

par Invité » 10 mai 2006, 14:28

Salut,
J'ai télécharger un code source (http://www.comscripts.com/scripts/php.p ... l?addcom=1)
qui sert à administrer une base de données. Aprés avoir fait les modifications nécessaire, je n'arrive pas à modifier les données d'une table.
Le code propose selon chaque table de modifier ou supprimer des données :

ACTIONS NOM PRENOM
[M][S] xxxxx xxxxx

[M] correspond à modifier [S] supprimer , le nom et le prénom sont contenus dans une table.

Ma fonction Modifier :

Code : Tout sélectionner

function Modifier($table, $query, $where) { $update=mysql_query("update $table set $query where $where"); if ($update==TRUE) { echo "Les donnéees ont été correctement modifiées<br />"; } else { echo "Erreur lors de la modification des données<br />"; } }
Mon main:

Code : Tout sélectionner

if (isset($_GET["q"])) { $q=$_GET["q"]; } elseif(isset($_POST["q"])) { $q=$_POST["q"]; } else { $q=""; } if (isset($_GET["sq"])) { $sq=$_GET["sq"]; } elseif(isset($_POST["sq"])) { $sq=$_POST["sq"]; } else { $sq=""; } if (!isset($_GET["table"])) { echo "<div class=\"erreur\">Erreur ! La page n'a pas été appelé avec les bons paramètres.</div>"; } else { $table=$_GET["table"]; $prefixe=""; // prefixer automatiquement les tables $table_utilisee="$prefixe".$table.""; switch($q) { case "Modifier"; $nb_champs=sizeof($champs["$table"]); echo "<div class=\"titrecorps\">Modification d'une entrée de la table \"$table\"</div>"; $id=$_GET["id"]; if ($sq=="Valider") { $valeurs=""; $i=0; while($i<$nb_champs) { $nom_champ=$champs["$table"]["$i"]; if ($i!=0) { $valeurs.=" ,"; } $valeurs.="$nom_champ=\"$_POST[$nom_champ]\""; $i++; } Modifier("$table_utilisee",$valeurs,"id=\"$id\""); ?> <script language="Javascript"> window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=2"; ?>"; </script> <?php } else { $select=mysql_query("select * from $table_utilisee where id=\"$id\""); $res=mysql_fetch_array($select); echo " <form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&sq=Valider&id=$id\" method=\"post\"> <table border=\"0\">"; $i=0; while($i<$nb_champs) { $nom_champ=$champs["$table"]["$i"]; $nom_champ_maj=strtoupper($nom_champ); echo " <tr> <td>$nom_champ_maj</td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\">".$res["$nom_champ"]."</textarea></td> </tr>"; $i++; } } break;
[/size]
J'ai un avertissement à cette ligne $res=mysql_fetch_array($select); (enlever en plaçant un @ devant mysql_fetch_array), j'ai cherché mais je n'ai trouvé aucune solution à mon problème impossible de modifier les données, donc si quelqu'un pouvait m'aider à trouver ce serait cool.

Merci