Fonction en php pb dans un UPDATE

Résolu
letyz12 -  
 letyz12 -
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. letyz12
     
    Et il ne s'agit pas non plus d'un souci de champs de ma BD, l'orthographe est bonne.

    Merci
    0
  2. Utilisateur anonyme
     
    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."' ";
    0
    1. letyz12
       
      ca ne marche pas non plus :(
      0
  3. toto
     
    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());
    0
  4. toto
     
    je veux dire : quel est le message d'erreur - car il devrait toujours être là.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. letyz12
     
    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?
    0
    1. letyz12
       
      je veins de tester avec un nom sans 'apostrophe' et ca marche.

      Comment remédier au pb?
      Merci
      0
  7. toto
     
    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) .....
    0
    1. letyz12
       
      merci
      0