Problème SQL/PHP
Résolu/Fermé
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
-
27 sept. 2009 à 00:32
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 - 27 sept. 2009 à 10:52
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 - 27 sept. 2009 à 10:52
A voir également:
- Problème SQL/PHP
- Easy php - Télécharger - Divers Web & Internet
- Sql server recovery - Télécharger - Gestion de données
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Logiciel sql - Télécharger - Bases de données
- Requête sql date supérieure à ✓ - Forum Programmation
12 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
27 sept. 2009 à 10:29
27 sept. 2009 à 10:29
Tu peux soit échapper les caractères avec addslashes ou bien mettreta chaine entre deux `.
Exemples :
Exemples :
$req=mysql_query('DELETE FROM Carte WHERE Nom=`'.$_SESSION['selection3'].'`') or die('Erreur'.mysql_error());Ou
$req=mysql_query('DELETE FROM Carte WHERE Nom="'.addslashes($_SESSION['selection3']).'"') or die('Erreur'.mysql_error());
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
27 sept. 2009 à 10:35
27 sept. 2009 à 10:35
C'est que la deuxième fonctionne mais dans ta base de données, tu n'as pas utiliser la fonction addslashes alors tu as ça dans ta base de données :
Et tu cherche à supprimer :
Essaye avec ça :
Coucou, je m'casse
Et tu cherche à supprimer :
Coucou, je m\'casse
Essaye avec ça :
$req=mysql_query("DELETE FROM Carte WHERE Nom=`".$_SESSION['selection3']."`") or die('Erreur'.mysql_error());
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 sept. 2009 à 10:42
27 sept. 2009 à 10:42
re :)
as tu essayé en ajoutant un rawurlencode et rawurldecode ?
as tu essayé en ajoutant un rawurlencode et rawurldecode ?
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 10:52
27 sept. 2009 à 10:52
J'ai réussi à contourner ce maudit problème finalement.
Le problème venait de la valeur retournée par mon $_POST qui ne renvoyait à la base que autumn et non autumn'tears.
Dire que la solution était juste là...
Enfin, merci tout de même pour votre aide, ça m'a permis d'apprendre de nouvelles fonctions !
Le problème venait de la valeur retournée par mon $_POST qui ne renvoyait à la base que autumn et non autumn'tears.
Dire que la solution était juste là...
Enfin, merci tout de même pour votre aide, ça m'a permis d'apprendre de nouvelles fonctions !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
27 sept. 2009 à 00:36
27 sept. 2009 à 00:36
Échappe le ' par un anti-slashe comme ceci : \'
Si c'est une variable qui contient cet apostrophe, utilise addslashes.
Si c'est une variable qui contient cet apostrophe, utilise addslashes.
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
27 sept. 2009 à 00:37
27 sept. 2009 à 00:37
Sans aucun code c'est difficile à être explicite mais à priori tu devrais regarder du côté des caractères d'échappement, soit de PHP, soit de ton SGBD, soit des deux.
l'anti-slash en PHP, le simple quote pour PgSQL....
Sachant que, bien entendu, il existe des fonctions qui sont capables d'échapper les méta-caractères d'une chaîne. Encore faut-il chercher et trouver la bonne, chaque langage a les siens ...
l'anti-slash en PHP, le simple quote pour PgSQL....
Sachant que, bien entendu, il existe des fonctions qui sont capables d'échapper les méta-caractères d'une chaîne. Encore faut-il chercher et trouver la bonne, chaque langage a les siens ...
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 00:45
27 sept. 2009 à 00:45
Bon, je poste la partie de code qui gère la suppression :
$req=mysql_query("DELETE FROM Carte WHERE Nom='".$_SESSION['selection3']."'") or die("Erreur".mysql_error());
Sachant que dans la base, le champ Nom est la clé primaire.
Le problème se fait au niveau de mon $_SESSION['selection3'] qui ne fonctionne pas si je veux supprimer l'élément autumn'tears, par exemple.
$req=mysql_query("DELETE FROM Carte WHERE Nom='".$_SESSION['selection3']."'") or die("Erreur".mysql_error());
Sachant que dans la base, le champ Nom est la clé primaire.
Le problème se fait au niveau de mon $_SESSION['selection3'] qui ne fonctionne pas si je veux supprimer l'élément autumn'tears, par exemple.
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
27 sept. 2009 à 00:57
27 sept. 2009 à 00:57
$req=mysql_query("DELETE FROM Carte WHERE Nom='".mysql_real_escape_string($_SESSION['selection3'])."'") or die("Erreur".mysql_error());
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 01:09
27 sept. 2009 à 01:09
J'ai testé dans un echo, il ne renvoie que la valeur de autumn. Même résultat avec addashes.
Je suis à court d'idée...
Je suis à court d'idée...
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 sept. 2009 à 08:29
27 sept. 2009 à 08:29
bonjour :)
sinon, essai ca :
$req=mysql_query("DELETE FROM Carte WHERE Nom=`".$_SESSION['selection3'])."`") or die("Erreur".mysql_error());
sinon, essai ca :
$req=mysql_query("DELETE FROM Carte WHERE Nom=`".$_SESSION['selection3'])."`") or die("Erreur".mysql_error());
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 10:32
27 sept. 2009 à 10:32
Bonjour,
Ni l'une ni l'autre des solutions ne fonctionnent, je viens de les tester. Pour la première elle me renvoie une erreur, et la seconde ne me renvoie pourtant aucune erreur.
Ni l'une ni l'autre des solutions ne fonctionnent, je viens de les tester. Pour la première elle me renvoie une erreur, et la seconde ne me renvoie pourtant aucune erreur.
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 10:38
27 sept. 2009 à 10:38
En fait, le problème reste toujours le même, si je veux supprimer autumn'tears, il ne m'affiche plus qu'autumn, même avec un addslashes quand je fais un echo. Donc il envoie une valeur inexistante à ma base et la requête ne peut pas fonctionner
Autumn`Tears
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
145
27 sept. 2009 à 10:43
27 sept. 2009 à 10:43
Eh non je connais pas cette fonction :S
Je vais essayer ça de suite
Je vais essayer ça de suite