J'ai un formulaire d'inscription sur mon site qui marche très bien, à l'exception d'un seul bug : quand on rentre une apostrophe dans un chamsp de saisie.
Donc quadn j'envoi le formulaire il me met une erreur SQL du type :
" syntaxe incorrecte vers **champs_en_question** "
Voici mes tests sur une variable :
1)
$r_adresse = $_POST["adresse"]; (variable de départ --> ERREUR)
2)
J'ai du rajouté une fonction :
{
return str_replace("'","",$Chaine);
}
puis la variable modifiée :
$r_adresse = quoteencode($_POST["adresse"]);
Mais dans ma table j'ai "" au lieu d'une apostrophe
et 3)
re-modification de ma variable :
$r_adresse = htmlentities(quoteencode($_POST["adresse"]));
Mais ça me met "’" au lieu d'une apostrophe.
Et je finis pas un INSERT INTO basic car je ne pense pas que le traitement se fasse à cet endroit.
Normal les quotes sont un caractère réservé dans le langage SQL puisqu'il en fait parti... du coup ce n'est pas qu'une question de bug mais aussi et surtout de sécurité car parti comme tu es on pourrais faire sauter toute ta base de données rien qu'en s'inscrivant sur ton site... .. .
Ah tu bosse avec odbc... il n'y a pas d'équivalent tout simplement parce qu'odbc n'est pas un type de base de données c'est une interface qui permet l'accés à différents type de sgdb et leur manipulation via un ensemble unique de fonctions, c'est une forme d'abstraction de bdd... ça permet de changer de type de bdd sans avoir à changer tout le code... tout dépend donc du driver sql que tu utilise mais normalement l'échappement est géré par le couple prepare()/execute()... .. .
"Et je finis pas un INSERT INTO basic car je ne pense pas que le traitement se fasse à cet endroit."
bah justement... comment tu fais ton insert "basique"... .. .
@ tchaOo°
Vous n’avez pas trouvé la réponse que vous recherchez ?
Merci de la prévention et du lien. Mais, jsuis peut etre bete lol, je ne comprends pas l'utilité de la fonction ODBC_prepare aec de faire mon odbc_exec