Ajouter de variable avec ' en bdd
Résolu
john
-
john -
john -
Bonjour,
Je voudrais pouvoir stocker dans ma base de donnée des noms contenant parfois des apostrophes j'ai donc ajouter :
$nom = addslashes($_POST['Nom']);
mssql_query ("INSERT INTO tableTest (name) VALUES ('".$nom."')");
Seulement ça me mets les mêmes erreurs que sans le addslashes...
merci,
Je voudrais pouvoir stocker dans ma base de donnée des noms contenant parfois des apostrophes j'ai donc ajouter :
$nom = addslashes($_POST['Nom']);
mssql_query ("INSERT INTO tableTest (name) VALUES ('".$nom."')");
Seulement ça me mets les mêmes erreurs que sans le addslashes...
merci,
8 réponses
-
Seulement ça me mets les mêmes erreurs que sans le addslashes...
Et c'est quoi les erreurs ?
et essayes de remplacer ta ligne par :
mssql_query ("INSERT INTO tableTest (name) VALUES ('".$nom."')") or die(mssql_error());
si ca trouve une erreur dans ta requête, ca te le dira -
Si je mets L'eclerc ça me met ça, par contre sans apostrophe cela fonctionne:
Warning: mssql_query() [function.mssql-query.html]: message: Syntaxe incorrecte vers 'eclerc'.
Warning: mssql_query() [function.mssql-query.html]: message: Ouvrez les guillemets après la chaîne de caractères ')'.
Si je fais un echo du addslashes j'ai bien: L\'eclerc
Merci -
essayes de faire un echo "INSERT INTO tableTest (name) VALUES ('".$nom."')";
pour voir ce que ca essaye d'envoyer -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bizarre chez moi en faisant ca ça marche :O
Enfin c'est un serveur MYSQL et pas MSSQL, ceci explique cela, mais ca n'explique pas où est l'erreur ^^ -
Si c'est pour afficher en html après tu peux toujours remplacer les apostrophes de tes string par '
C'est ce que j'ai fait sur un site et ça marche bien. -
Après une courte recherche, il s'avère que pour mssql, il faut "double-apostropher"
To insert an apostrophe into the database using SQL you need to "double-up" the apostrophes -
J'ai contourné le problème en bidouillant mais je t'avouerais ne pas trop comprendre pourquoi ça marche. Je met ce que j'ai fais si ça peut servir à d'autres:
Remplacer le ' par deux apostrophes.
$nom = str_replace("'","''",$_POST['Nom']);
Ce qui est bizarre c'est que le echo me met: VALUES ('L''eclerc') alors que dans ma bdd un seul apostrophe est présent.
Enfin merci de ton aide.
Bonne journée!