Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
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 11/08/2011, 14h05   #1
Membre habitué
 
Avatar de lolymeupy
 
Inscription : octobre 2006
Messages : 329
Détails du profil
Informations personnelles :
Âge : 36
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2006
Messages : 329
Points : 106
Points : 106
Envoyer un message via MSN à lolymeupy
Par défaut Echapper Apostrophe construction requête

Bonjour,
j'ai une fonction javascript qui doit me permettre de construire une requête SQL.
Voici la partie de la requête qui pose problème (je précise que la requête est correcte car testée dans PhpMyAdmin ) :
Code :
1
2
3
4
 
CONCAT(c.firstname, ' ', c.lastname, '<br>', ad.address1, '<br>',ad.address2, 
'<br>', '(', ad.other,')', '<br>', ad.postcode, '<br>', 
ad.city, '<br>', cl.name) AS client,
En bref, je concatene toutes les infos clients (nom, prenom , adresse, etc...). Mais le champ "other" doit être entre parenthèses, et c'est là que ça coince...
Et voici mon code javascript pour obtenir cette partie de la requête :
Code :
1
2
3
4
5
6
 
text+='CONCAT(c.firstname, ' ', c.lastname, \'<br>\', ad.address1, \'<br>\',ad.address2, \'<br>\',';
text+='\'(\'';
text+=', ad.other,';
text+='\')\'';
text+=' \'<br>\', ad.postcode, \'<br>\', ad.city, \'<br>\', cl.name) AS client, ';
...autant le \ pour échapper les ' au niveau des \'<br>\' fonctionne, autant au niveau des parenthèses ( et ) cela pose problème...Et je ne vois pas ce qui cloche

Merci beaucoup
lolymeupy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 09h27   #2
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Il n'y a aucune raison que ça ne marche pas.

C'est surtout que t'en as oublié ici :
Code :
text+='CONCAT(c.firstname, ' ', c.lastname, \'<br>\', ad.address1, \'<br>\',ad.address2, \'<br>\',';
Sinon, le plus simple est de mettre des doubles quotes (" ") pour entourer tes chaines : text+="CONCAT(c.firstname, ' ', c.lastname, '<br>', ad.address1, '<br>',ad.address2, '<br>'" etc.

Comme il n'y a pas de différence de perf entre les simples et doubles quotes (contrairement à PHP par exemple) tu peux utiliser les deux indifféremment.

Par contre j'espère que tu es conscient que c'est mal de faire une requête SQL en javascript ? Question sécurité c'est vraiment la dernière chose à faire.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h58.


 
 
 
 
Partenaires

Hébergement Web