Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2006, 12h50   #1
Invité de passage
 
Inscription : février 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 3
Points : 1
Points : 1
Par défaut Requete d'insertion avec php

Ma requête d’insertion ne fonctionne pas lorsque j’utilise l’apostrophe dans la valeur d’un champ de la table concernée
J’utilise php et SQL Server

Voici le formulaire de saisie
Libellé de la Salle :
Localisation :


Code de connection
Code :
1
2
3
4
$connect = odbc_connect("odbc_scolarite","","");
//initialisation des variables
$ sal_lib= $_POST['txt_ sal_localisation'];  
$ sal_localisation= $_POST['txt_ sal_localisation];
//Requetes d'insertion
Code :
1
2
$query = "insert into TR_SALLE_SAL values('$sal_lib','$sal_localisation')";
odbc_exec($connect, $query);
Si on saisie dans le formulaire:
Libellé de la Salle : Labo 1
Localisation : Salle d informatique // sans apostrophe :
L’insertion se passe correctement.

Par contre Si on saisie :
Libellé de la Salle : Labo 1
Localisation : Salle d’informatique // avec l’apostrophe :
L’insertion échoue avec un message du genre informatique n’est pas un nom de colonne.

De plus lorsque dans l’analyseur de requête de SQL Serveur je lance la commande suivante :
Code :
insert into TR_SALLE_SAL values(' Labo 1,' Salle d’’informatique’ )
// avce 2 apostrophes successifs, l’insertion se passe correctement également.

Que faire donc pour gérer les éventuels apostrophes que l’utilisateur de l’application pourrait saisir ?
Merci !!!
Images attachées
Type de fichier : jpg clip_image002.jpg (6,8 Ko, 2 affichages)
rolph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 13h18   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Essaie de remplacer ça :
Code :
1
2
$query = "insert into TR_SALLE_SAL values('$sal_lib','$sal_localisation')";
odbc_exec($connect, $query);
par ça :
Code :
1
2
$query = odbc_prepare($connect, "insert into TR_SALLE_SAL values(?, ?)";
$res   = odbc_execute($query, array($sal_lib, $sal_localisation));
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h20.


 
 
 
 
Partenaires

Hébergement Web