Probleme requete update mysql/php

Fermé
medkov - Modifié par pijaku le 24/01/2014 à 09:26
 Utilisateur anonyme - 24 janv. 2014 à 08:24
Bonjour,

quelqu'un peut m'aider svp???? la requête update ne modifie pas la table!!!!! voila le code


<?php

$sql="select * from fournisseurs where idf='".$_GET['idf']."'";
$requete=mysql_query($sql);
$resultat=mysql_fetch_array($requete);
if(isset($_POST['Envoyer'])){

$sql="update fournisseurs set   Nom='".$_POST['Nom']."',
                                Prenom='".$_POST['Prenom']."',
        
                                Tel='".$_POST['Tel']."',
        Fax='".$_POST['Fax']."',
        Mail='".$_POST['Mail']."',
        
        Adresse='".$_POST['Adresse']."',
        responsable='".$_POST['responsable']."'
        ";
        
        
        
        
$requete=mysql_query($sql);
if($requete)
{echo "Bon";
echo  "<script language=\"javascript\">
window.alert(\" modificatio okokokok . \");
</script>";
}
else
print "NON";
}

  
  ?>
A voir également:

1 réponse

Utilisateur anonyme
24 janv. 2014 à 08:24
Bonjour

Heureusement qu'ellle ne marche pas, tu aurais modifié toute ta table !
En effet il n'y a aucune condition dans ton UPDATE : il va donc s'appliquer à toute la table.
Si tu croyais qu'il ne s'appliquerait qu'aux lignes choisies par le SELECT, c'est que tu n'as pas compris à quoi sert le SELECT. Il sert à retrouver des données dans la base à partir de certains critères, mais n'a aucune action sur le SELECT qui peut suivre.
Je vais donc supposer que ton SELECT est totalement inutile (d'ailleurs tu n'utilises pas son résultat) mais qu'il manque un WHERE ) à ton UPDATE :
$sql="update fournisseurs SET 
Nom='".$_POST['Nom']."', 
Prenom='".$_POST['Prenom']."', 
Tel='".$_POST['Tel']."', 
Fax='".$_POST['Fax']."', 
Mail='".$_POST['Mail']."', 
Adresse='".$_POST['Adresse']."', 
responsable='".$_POST['responsable']."' 
WHERE idf='".$_GET['idf']."'";

Et, pour diagnostiquer l'erreur :
$requete=mysql_query($sql) or die (mysql_error()); 

Il y a un tas de causes possibles (connexion à la base, apostrophes dans les données, $_POST['Envoyer'] pas défini...) maos nous y reviendrons plus tard.
0