PHP Fonction Update

Résolu
phil -  
 phil -
Bonjour,

J'ai un souci avec la fonction Update j'arrive pas a remplacer les champs...

Si quelqu'un peu jetter un coup d'oeil à mon code pour voir si il y a un souci ...

Merci d'avance.

<?php
//

include("../connection.php");
$id=$_POST["id"];
$requete="select * from t_morceau where id=$id";
$result=mysql_query($requete);
$row=mysql_fetch_object($result);
$vloic=$_POST["vloic"];
$vharley=$_POST["vharley"];
$vfred=$_POST["vfred"];
$vphil=$_POST["vphil"];

$requete1="UPDATE 't_morceau' SET 'id'=[$id],'par'=[$row->par],'artiste'=[$row->artiste],'titre'=[$row->titre],'lien'=[$row->lien],'loic'=[$vloic],'harley'=[$vharley],'fred'=[$vfred],'phil'=[$vphil],'propo'=[$row->propo],'valid'=[$row->valid],'abooser'=[$row->abosser] WHERE id=$id ";

echo $id;
echo $requete1;

if ($execute=mysql_query($requete1))
{

}
else
{
echo "probleme d'enregistrement";
echo "<a HREF='form.html'>retour au formulaire</a>";
}

?>

Message d'erreur :

UPDATE 't_morceau' SET 'id'=[4],'par'=[Phil],'artiste'=[Elvis Presley],'titre'=[All Shook Up ],'lien'=http://www.youtube.com/watch?v=3rQEbQJx5Bo,'loic'=[1],'harley'=[1],'fred'=[1],'phil'=[1],'propo'=[1],'valid'=[0],'abooser'=[] WHERE id=4 probleme d'enregistrementretour au formulaire

3 réponses

  1. maka54 Messages postés 721 Statut Membre 80
     
    $requete1="UPDATE 't_morceau' SET 'id'=[$id],'par'=[$row->par],'artiste'=[$row->artiste],'titre'=[$row->titre],'lien'=[$row->lien],'loic'=[$vloic],'harley'=[$vharley],'fred'=[$vfred],'phil'=[$vphil],'propo'=[$row->propo],'valid'=[$row->valid],'abooser'=[$row->abosser] WHERE id=$id "; 


    Si quelqu'un peu jetter un coup d'oeil à mon code pour voir si il y a un souci ...

    on commence par quoi ??

    1 - SET 'id'=[$id] tu veux modifier le id d'un enregistrement, pourquoi pas ...
    mais pas quand c'est ta condition WHERE id=$id ";

    2 - qu'est ce que c'est que tout ces crochets ???

    $requete1 = "UPDATE t_morceau SET par = '".$row->par."', artiste = '".$row->artiste."', titre = '".$row->titre."', lien = '".$row->lien."',loic = '".$vloic."',harley = '".$vharley."',fred = '".$vfred."',phil = '".$vphil."',propo = '".$row->propo."',valid = '".$row->valid."',abooser = '".$row->abosser."' WHERE id = '".$id."'";


    3 - tu fais une requete sur id, pour updater les memes valeurs, il n'y a aucun interet

    4 - si tu mets des quotes au nom de champs et de table, il faut mettre les quotes du chiffre 7 (a titre d'indication dans le doute)
    1
    1. phil
       
      J'ai modifié :

      $requete1="UPDATE t_morceau SET par=[$row->par],artiste=[$row->artiste],titre=[$row->titre],lien=[$row->lien], loic=[$vloic], harley=[$vharley], fred=[$vfred], phil=[$vphil], propo=[$row->propo], valid =[$row->valid], abooser=[$row->abosser] WHERE id=[$id] ";

      Ca marche toujours pas ...
      Merci du temps que vous y consacré .

      Phil
      0
    2. maka54 Messages postés 721 Statut Membre 80
       
      et si tu reprend la requete que j'ai mis au dessus ?
      0
    3. phil
       
      Excellent Merci !! ça marche !!!

      Au top merci beaucoup :)
      0
  2. phil
     
    Merci de ta réponse rapide, comme tu le vois je suis novice en php ...
    les ' sont inutiles?

    je cherche pas a remplacer l'id mais les autre champ après une mise a jour...
    0
  3. maka54 Messages postés 721 Statut Membre 80
     
    je viens de completer la réponse, j'avais valider trop vite, ils ne sont pas inutiles, mais pour ne pas d'induire en erreur, je les avaient supprimés

    quote du 4 pour la valeur du champ
    quote du 7 (Alt Gr + 7) pour le nom de champ et de table
    0