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.
A voir également:

6 réponses

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

Merci
0
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
letyz12
 
ca ne marche pas non plus :(
0
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
toto
 
je veux dire : quel est le message d'erreur - car il devrait toujours être là.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

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