Pb d'apostrophe pour ACCESS PHP
Résolu
chouli_om
Messages postés
113
Date d'inscription
Statut
Membre
Dernière intervention
-
chouli_om Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
chouli_om Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit problème, actuellement en stage je dois développer une application qui tourne sous ACCESS... Les problème que j'ai actuellement : c'est lors de l'insertion je dois inserer un descriptif en BD, celui-ci peut contenir des ' ou " ou / . Vous allez me dire d'utiliser la fonction addslashes() le probleme c'est qu'elle me rajouté 3backslashe au lieu d'un..
donc j'ai pris cette fonction :
function ajouter_slashes(&$texte)
{
if(get_magic_quotes_gpc()===0)
{
return addslashes($texte);
}
else
{
return $texte;
}
}
Avec cela tout fonctionne, mais lors de l'insertion, voici ma requette :
function addFormation($numero,$nom,$duree,$descriptif,$message,$cnx)
{
$req=" INSERT INTO formation (num_formation,nom,duree,descriptif,message) VALUES ('".$numero."','".$nom."','".$duree."','".$descriptif."','".$message."')";
echo $req;
$rs_code=odbc_exec($cnx,$req) or die("ne peut pas etre executé");
return $rs_code;
}
avec $descriptif =" c\'est l\'histoire d\'un mec";
Ben l'erreur suivante est :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''c\'est l\'histoire d\'un mec','')'., SQL state 37000 in SQLExecDirect in C:\wamp\www\Reservations\connexion.php on line 100
ne peut pas etre executé
Merci pour votre aide....
J'ai un petit problème, actuellement en stage je dois développer une application qui tourne sous ACCESS... Les problème que j'ai actuellement : c'est lors de l'insertion je dois inserer un descriptif en BD, celui-ci peut contenir des ' ou " ou / . Vous allez me dire d'utiliser la fonction addslashes() le probleme c'est qu'elle me rajouté 3backslashe au lieu d'un..
donc j'ai pris cette fonction :
function ajouter_slashes(&$texte)
{
if(get_magic_quotes_gpc()===0)
{
return addslashes($texte);
}
else
{
return $texte;
}
}
Avec cela tout fonctionne, mais lors de l'insertion, voici ma requette :
function addFormation($numero,$nom,$duree,$descriptif,$message,$cnx)
{
$req=" INSERT INTO formation (num_formation,nom,duree,descriptif,message) VALUES ('".$numero."','".$nom."','".$duree."','".$descriptif."','".$message."')";
echo $req;
$rs_code=odbc_exec($cnx,$req) or die("ne peut pas etre executé");
return $rs_code;
}
avec $descriptif =" c\'est l\'histoire d\'un mec";
Ben l'erreur suivante est :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''c\'est l\'histoire d\'un mec','')'., SQL state 37000 in SQLExecDirect in C:\wamp\www\Reservations\connexion.php on line 100
ne peut pas etre executé
Merci pour votre aide....
A voir également:
- Pb d'apostrophe pour ACCESS PHP
- Easy php - Télécharger - Divers Web & Internet
- Acer quick access - Forum logiciel systeme
- Quick Access service ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Access appdata - Guide
3 réponses
Salut,
C'est pas que personne ne veut vous répondre, mais peut être qu'on ne sait pas :)
Faire des restriction sur le descriptif c'est la solution la plus pratique, mais une chose est sûre:
Pour inserer un ' il faut mettre deux '' par exemple (j'ai testé):
insert into Utilisateur (CodeUtilisateur) values ('t''arek');
va inserer t'arek dans la base (sans problème).
Donc si vous voulez, vous pouvez remplacer tous les ' par deux ''.
Pour les " et les /\, pour sql c'est pas un problème.
C'est pas que personne ne veut vous répondre, mais peut être qu'on ne sait pas :)
Faire des restriction sur le descriptif c'est la solution la plus pratique, mais une chose est sûre:
Pour inserer un ' il faut mettre deux '' par exemple (j'ai testé):
insert into Utilisateur (CodeUtilisateur) values ('t''arek');
va inserer t'arek dans la base (sans problème).
Donc si vous voulez, vous pouvez remplacer tous les ' par deux ''.
Pour les " et les /\, pour sql c'est pas un problème.