[PHP] Update raté

Kraig -  
Breub62 Messages postés 3452 Statut Membre -
Bonjour,
J'ai fait ce script PHP qui refuse de fonctionner...

Est-ce quelqu'un pourrait pointer mon erreur du doigt ?
<html><head><title>MàJ</title></head>
<body>
<?php
$connexion = mysql_connect("localhost","root","");
if ($connexion)
{
mysql_select_db("bormes",$connexion);
$requete="UPDATE HEBERGEMENT SET
NOMEHEBE='".$_POST['nome']."',
TYPEHEBE='".$_POST['type']."',
QUALHEBE='".$_POST['qual']."',
DESCHEBE='".$_POST['desc']."',
SITUHEBE='".$_POST['situ']."',
OUVEHEBE='".$_POST['ouve']."',
CAPAHEBE='".$_POST['capa']."',
DISMHEBE='".$_POST['dism']."',
PRESHEBE='".$_POST['pres']."',
LANGHEBE='".$_POST['lang']."',
TCHAHEBE='".$_POST['tcha']."',
TPEDHEBE='".$_POST['tped']."',
PHOTHEBE='".$_POST['nome']."',
TELEHEBE='".$_POST['tele']."',
FAXEHEBE='".$_POST['faxe']."',
ADREHEBE='".$_POST['mail']."',
MAILHEBE='".$_POST['adre']."',
SITEHEBE='".$_POST['site']."';";
$ok= mysql_query($requete,$connexion);
echo $ok;
if ($ok)
{
echo "L' hebergement a été correctement modifié";
}
else
{
echo "Attention, la modification de l'hebergement a échoué !!!";
}
}
else
{
echo "problème à la connexion <br />";
}
mysql_close($connexion);
?>
<br/>
</body><html>


Merci d'avance

5 réponses

  1. louloute300 Messages postés 347 Statut Membre 29
     
    Moi je fais ainsi:

    $requete="UPDATE 'HEBERGEMENT' SET
    'NOMEHEBE'='".$_POST['nome']."',
    'TYPEHEBE'='".$_POST['type']."',
    'QUALHEBE'='".$_POST['qual']."', etc...

    Les apostrophes des mot en gras ci dessus sont des alt gr + 7
    2
    1. louloute300 Messages postés 347 Statut Membre 29
       
      Si l'on commence à mettre des notes sur les idées que l'on soumet, il n'y a plus qu'à mettre -1 à tous, compte tenu que qu'aucun d'entre vous n'a trouver la bonne solution !!!
      0
    2. louloute300 Messages postés 347 Statut Membre 29
       
      D'autant plus que les apostrophes alt Gr + 7 SONT RECOMMANDE:


      UPDATE 'llcorp'.'bank' SET 'num' = '5' WHERE CONCAT( 'bank'.'num' ) =4 LIMIT 1 ;

      Voici un update classic exécuté par mysql^^ avec les apostrophe autour des mot en gras entouré par les altGr+7 !!!

      Alors essayer avant de notez...
      0
    3. Breub62 Messages postés 3452 Statut Membre 369
       
      Je confirme. Même si je ne les utilise pas par flemme, ça ne peut pas faire de mal de les utiliser...
      0
  2. Breub62 Messages postés 3452 Statut Membre 369
     
    Quel est ton message d'erreur?
    0
    1. Kraig
       
      Il m'affiche mon message d'erreur "Attention, la modification de l'hébergement a échoué"
      0
    2. Breub62 Messages postés 3452 Statut Membre 369
       
      C'est donc sûrement ta requête qui est fausse fais echo $requete; à la place de echo $ok;

      Puis exécute ce qui s'affiche à l'écran sous phpmyadmin pour voir si elle passe ou non
      0
  3. kabbabi Messages postés 222 Statut Membre 6
     
    Bonjour,

    Mets avant NOMEHEBE='".$_POST['nome']."' et après SITEHEBE='".$_POST['site']."' des parenthèses (c'est typique au SQL) et enlève le ; à la fin de la requête et essaye pour voir
    0
    1. Kraig
       
      Ca marche pas...
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. kabbabi Messages postés 222 Statut Membre 6
     
    ReSalut,

    http://sql.1keydata.com/fr/sql-update.php

    Pour ne pas faire d'erreurs de syntaxe.

    Pour ton problème, mets :

    UPDATE "nom de table"
    SET colonne 1 = [valeur 1], colonne 2 = [valeur 2]
    WHERE {condition}

    $requete="UPDATE 'HEBERGEMENT' SET
    NOMEHEBE='".$_POST['nome']."',
    TYPEHEBE='".$_POST['type']."',
    QUALHEBE='".$_POST['qual']."',
    DESCHEBE='".$_POST['desc']."',
    SITUHEBE='".$_POST['situ']."',
    OUVEHEBE='".$_POST['ouve']."',
    CAPAHEBE='".$_POST['capa']."',
    DISMHEBE='".$_POST['dism']."',
    PRESHEBE='".$_POST['pres']."',
    LANGHEBE='".$_POST['lang']."',
    TCHAHEBE='".$_POST['tcha']."',
    TPEDHEBE='".$_POST['tped']."',
    PHOTHEBE='".$_POST['nome']."',
    TELEHEBE='".$_POST['tele']."',
    FAXEHEBE='".$_POST['faxe']."',
    ADREHEBE='".$_POST['mail']."',
    MAILHEBE='".$_POST['adre']."',
    SITEHEBE='".$_POST['site']."'
    WHERE NOMEHEBE='".$_POST['nome']."'";
    0
    1. Kraig
       
      J'en suis la et ca marche toujours pas...


      <html><head><title>MàJ</title></head>
      <body>
      <?php
      $connexion = mysql_connect("localhost","root","");
      if ($connexion)
      {
      mysql_select_db("bormes",$connexion);
      $requete="UPDATE 'HEBERGEMENT' SET
      NOMEHEBE='".$_POST['nome']."',
      TYPEHEBE='".$_POST['type']."',
      QUALHEBE='".$_POST['qual']."',
      DESCHEBE='".$_POST['desc']."',
      SITUHEBE='".$_POST['situ']."',
      OUVEHEBE='".$_POST['ouve']."',
      CAPAHEBE='".$_POST['capa']."',
      DISMHEBE='".$_POST['dism']."',
      PRESHEBE='".$_POST['pres']."',
      LANGHEBE='".$_POST['lang']."',
      TCHAHEBE='".$_POST['tcha']."',
      TPEDHEBE='".$_POST['tped']."',
      PHOTHEBE='".$_POST['nome']."',
      TELEHEBE='".$_POST['tele']."',
      FAXEHEBE='".$_POST['faxe']."',
      ADREHEBE='".$_POST['mail']."',
      MAILHEBE='".$_POST['adre']."',
      SITEHEBE='".$_POST['site']."'
      WHERE NOMEHEBE='".$_POST['nome']."'";
      $ok= mysql_query($requete,$connexion);
      echo $ok;
      if ($ok)
      {
      echo "L'hebergement a été correctement modifié";
      }
      else
      {
      echo "Attention, la modification de l'hebergement a échoué !!!";
      }
      }
      else
      {
      echo "problème à la connexion <br />";
      }
      mysql_close($connexion);
      ?>
      <br/>
      </body><html>
      0
    2. louloute300 Messages postés 347 Statut Membre 29
       
      Ah oui, juste comme ça... est-tu sur d'avoir qqch dans tes "nome","type"... sinon, peut être que par précotion tu peux remplacer
      $_POST['nome']
      par
      (isset($_POST['nome'])?$_POST['nome']:"")

      Mais ça n'est probablement pas la source d'erreur.

      En revanche, breub62 a sans doute la meilleur idée à savoir fait un echo $requete et copie la réponse obtenu dans phpmyadmin...
      0
    3. Kraig
       
      J'ai viens de cop-col ma requete dans phpmyadmin et il me donne cete erreur la :

      #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''HEBERGEMENT' SET NOMEHEBE='HOTEL DE LA PLAGE', TYPEHEBE='Hotel ', QUALHEBE='2 Ã' at line 1
      0
    4. Breub62 Messages postés 3452 Statut Membre 369
       
      Et en bidouillant sur phpMyAdmin tu arrive à la requête qui répond à tes besoins?
      0
    5. Kraig
       
      Lorsque je vire la ligne qui met a jour le champ DESCHEBE, ça marche dans phpmyadmin...

      Je ne comprend pas pourquoi...
      0