Problème Update mysql (marche en local)
Résolu
ordipard
Messages postés
155
Date d'inscription
Statut
Membre
Dernière intervention
-
ordipard Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
ordipard Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilise une fonction UPDATE pour mettre a jour la base de donnée, mon code marche en local mais lorsque je le met sur mon serveur (free) ca ne marche pas.
PS: mes identifiants de base mysql de free et en local sont les mêmes.
Si vous avez une idée je suis preneur, Merci d'avance !!
$nom=htmlspecialchars(stripslashes($_POST['nom']));
$date=htmlspecialchars($_POST['date']);
$description=htmlspecialchars(stripslashes($_POST['description']));
$number=$_POST['number'];
$date_jour="$date[0]$date[1]";
$date_mois="$date[3]$date[4]";
$date_annees="$date[6]$date[7]$date[8]$date[9]";
mysql_connect("localhost","ledyapason","frederic");
mysql_select_db("ledyapason");
mysql_query("UPDATE soiree SET nom='$nom', description='$description', jour='$date_jour', mois='$date_mois', annees='$date_annees' WHERE ID='$number'");
mysql_close();
J'utilise une fonction UPDATE pour mettre a jour la base de donnée, mon code marche en local mais lorsque je le met sur mon serveur (free) ca ne marche pas.
PS: mes identifiants de base mysql de free et en local sont les mêmes.
Si vous avez une idée je suis preneur, Merci d'avance !!
$nom=htmlspecialchars(stripslashes($_POST['nom']));
$date=htmlspecialchars($_POST['date']);
$description=htmlspecialchars(stripslashes($_POST['description']));
$number=$_POST['number'];
$date_jour="$date[0]$date[1]";
$date_mois="$date[3]$date[4]";
$date_annees="$date[6]$date[7]$date[8]$date[9]";
mysql_connect("localhost","ledyapason","frederic");
mysql_select_db("ledyapason");
mysql_query("UPDATE soiree SET nom='$nom', description='$description', jour='$date_jour', mois='$date_mois', annees='$date_annees' WHERE ID='$number'");
mysql_close();
A voir également:
- Problème Update mysql (marche en local)
- Appdata local - Guide
- Windows update bloqué - Guide
- Ip local - Guide
- Local send - Télécharger - Divers Utilitaires
- Winget update - Guide
4 réponses
Bon j'ai avancé le problème ne vien pas du fait que ca soit en local ou pas, il vien du texte que j'essayait de mettre il semblerai que lorsque je met un apostrophe ca bloque la fonction de UPDATE la question est pourquoi? merci ;)
MDR je viens de regler mon problème et je vien de lire ton message ;) merci quand même c'était bien ca j'ai inversé addslashes et stripslashes, par contre en local je doit mêtre un addslashes et sur le serveur je ne doit rien mettre ni add ni strip, si je met strip ca me met l'erreur si je met add ça me rajoute un slashe sur mon texte donc finalement je n'ai rien mis. mais est ce que quelqu'un peut expliquer cette difference entre local et sur le serveur ?
Merci beaucoup pour avoir repondu si vite.
A bientot ;)
Merci beaucoup pour avoir repondu si vite.
A bientot ;)
Bonsoir,
il y aune différence de traiement des ' dans php et dans mysql; la requête aurait pu être codée ainsi :
$query = 'UPDATE soiree SET nom=';
$query .= '"'.$nom.'"'; // cette ligne ajoute à query une double " et le contenu de $nom puis une double "
ainsi si $nom contient une quoute il n'a pas de pb
etc
$query .= '"'.$description.'"';
$query .= '"'.$date_jour.'"';
$query .= '"'.$date_mois.'"';
$query .= '"'.$date_annees.'"';
$query .= ' where id='.$number.')';
mysql_query($query);
il y aune différence de traiement des ' dans php et dans mysql; la requête aurait pu être codée ainsi :
$query = 'UPDATE soiree SET nom=';
$query .= '"'.$nom.'"'; // cette ligne ajoute à query une double " et le contenu de $nom puis une double "
ainsi si $nom contient une quoute il n'a pas de pb
etc
$query .= '"'.$description.'"';
$query .= '"'.$date_jour.'"';
$query .= '"'.$date_mois.'"';
$query .= '"'.$date_annees.'"';
$query .= ' where id='.$number.')';
mysql_query($query);
dans ta requette d'UPDATE:
mysql_query("UPDATE soiree SET nom='$nom', description='$description', jour='$date_jour', mois='$date_mois', annees='$date_annees' WHERE ID='$number'");
tu remarques qu'il y a des '
alors si dans les valeurs à enregistrer il y a des apostrophes cà perturbe.
par exemple si tu veux mettre d'hier dans le champ description tu vois que ça donne il y a donc interprétation de l'apostrophe.
Pour éviter cet inconvénient il faut échapper les apostrophes, c'est à dire ajouetr auomatiquement un \ devant les '
la fonction php qui fait ça c'est addslashes
l'opération inverse c'est stripslashes(....)