Fonction en php pb dans un UPDATE

Résolu
Bonjour,

J'ai un souci dans une fonction; je pense que le souci vient de l'update :

<?php
/********************************************************************************************/
function modif_resto ($nom1, $nom2, $adr, $tel, $fax, $site, $cuisine, $prix, $fichier, $com){
//met à jour le restaurant nom1
// nom --> $nom2
// adresse --> $adr
// telephone --> $tel
// fax --> $fax
// site_web --> $site
// cuisine --> $cuisine
// prix --> $prix
// nom_image --> $fichier
// commentaires --> $com

echo $nom1;
echo $nom2;
echo $adr;
echo $tel;
echo $fax;
echo $site;
echo $cuisine;
echo $prix;
echo $fichier;
echo $com;


$rqt = "UPDATE restaurants
SET nom='$nom2', adresse='$adr', telephone='$tel', fax='$fax', site_web='$site', cuisine='$cuisine', prix='$prix', nom_image='$fichier', commentaires='$com'
WHERE nom='$nom1'";
$exec = mysql_query($rqt);
if (mysql_error()){
return false;
}
else { return true;
}
}

Tous les echo en gras sont en fait des tests que j'ai fait pour voir si les variables paramètres étaient bien récupérées et il se trouve que oui.

Merci de bien m'aider; Il s'agit peut-etre d'un problème de guillemet ou de cotes; j'ai fait des tests mais ca marche tjs pas.
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. Et il ne s'agit pas non plus d'un souci de champs de ma BD, l'orthographe est bonne.

    Merci
    1. Bonjour

      essaye avec cette ligne :

      $rqt = "UPDATE restaurants
      SET nom='".$nom2."', adresse='".$adr."', telephone='".$tel."', fax='".$fax."', site_web='".$site."', cuisine='".$cuisine."', prix='".$prix."', nom_image='".$fichier."', commentaires='".$com."'
      WHERE nom='".$nom1."' ";
      1. ca ne marche pas non plus :(
    2. Bonjour

      Il n'y avait aucune raison que ça change, c'était la même chose.
      Qu'est-ce qui se passe si tu fais :
      $exec = mysql_query($rqt) or die (mysql_error());
      1. je veux dire : quel est le message d'erreur - car il devrait toujours être là.
        1. Voici ce qui sort :

          L'aubracL'aubracPlace de la cité05651223340565122334www.aubrac.netItalien60-90 EURruthenois.jpgBon resto
          Erreur de syntaxe près de 'aubrac', adresse='Place de la cité', telephone='0565122334', fax' à la ligne 2

          La première ligne sont mes "echo"; qui sont bons.
          Et la deuxième, c l'erreur.

          On dirait que c'est l'apostrophe du "l'aubrac" qui dérègle un peu tout non?
          1. je veins de tester avec un nom sans 'apostrophe' et ca marche.

            Comment remédier au pb?
            Merci
        2. Bien sûr que c'est l'apostrophe . Elle marque la fin de ta donnée, le reste ne veut plus rien dire.
          Il faut systématiquement utiliser mysql_real_escape sur toutes les variables :
          $rqt = "UPDATE restaurants SET nom='".mysql_real_escape_string($nom2)."', adresse='".mysql_real_escape_string($adr) .....