Problème requête insert

Fermé
08815266 Messages postés 52 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 28 février 2017 - 22 mars 2010 à 00:35
08815266 Messages postés 52 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 28 février 2017 - 26 mars 2010 à 20:42
bonjour les amis, j'ai un p^robléme au niveau requétes insert, je trouve que la requête est juste lorsque le champ type(textbox) ne contient pas une apostrophe et lorsque j'écrit dans la zone une texte comme(lettre d'instruction par exemple) le système confuse entre les quottes de la zone et les quottes de la requêtes et j'ai pas trouvé une solution jusqu'à mnt, merci d'avance

1 réponse

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
22 mars 2010 à 01:12
Si tu utilise PHP pour faire ta requête et que la textbox est contenue dans la variable $texteInsert (donc par exemple : $texteInsert = $_POST['textbox']), tu peux faire ceci avant de mettre $texteInsert dans ta requête :

$texteInsert = mysql_real_escape_string($texteInsert);


Le principe de cette méthode c'est principalement d'ajouter des anti-slashes "\" devant les guillemets simples et doubles afin qu'ils ne "cassent" pas la requête.

Lorsque tu le récupérera n'oublie pas de faire un stripslashes() sur le texte récupérer afin de retirer les anti-slashes avant de l'afficher sur la page :
$texteRecup = stripslashes($texteRecup);



Sinon si tu programmes dans un autre langage, le principe est le même, trouve une méthode ou fait la toi même, qui ajoutera des anti-slashes devant les simples et doubles guillemets.
0
08815266 Messages postés 52 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 28 février 2017
22 mars 2010 à 02:00
je développe asp.net langage c# et le problème n'est pas résolu en ajoutant ' \ 'devant le quotte, ça reste toujours compliqué
0
08815266 Messages postés 52 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 28 février 2017
26 mars 2010 à 20:42
merci la solution est de doublet l'apostrophe,
public string DoubleQuote(string pValue)
{
int i;
string s="";
for (i = 0; i < pValue.Length; i++)
{
if (pValue[i] == '\'')
{
s += "''";
}
else
{
s += pValue[i];
}
}

return s;

}
0