Problème requête insert

08815266 Messages postés 67 Statut Membre -  
08815266 Messages postés 67 Statut Membre -
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 1494 Statut Membre 425
 
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 67 Statut Membre
 
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 67 Statut Membre
 
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