Fonction en php pb dans un UPDATE

Résolu/Fermé
letyz12 - 29 déc. 2008 à 20:52
 letyz12 - 29 déc. 2008 à 21:49
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

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

Merci
0
Utilisateur anonyme
29 déc. 2008 à 21:09
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
ca ne marche pas non plus :(
0
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
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
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
je veins de tester avec un nom sans 'apostrophe' et ca marche.

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