[R] MySql et les textes...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

[R] MySql et les textes...

#1

Message par Ks10 »

Bonjour à tous

Donc voilà je dois insérer du texte dans une table mysql avec autoit.
Jusque la :
- La connexion : Pas de soucis.
- L'insertion des champs autre que du texte : Ok

Par contre dès qu'il s'agit d'un texte, j'ai un soucis.
Car mysql traite une erreur dès que le texte possède un ' car chaque donnée est entre ces apostrophes.
Est-il possible de recherché tous les charactère de ce type ' afin de mettre un \ juste après ce charactère ? Un peu comme en php.

J'espère avoir était assez compréhensible lol
L'idée global est de recherché chaque apostrophe citée en haut et de mettre un antislash juste après automatiquement avant l'insertion du texte dans la base.
Modifié en dernier par Ks10 le mar. 15 avr. 2014 13:36, modifié 1 fois.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] MySql et les textes...

#2

Message par Hugues »

Salut,

j'ai eu le même soucis recemment... :mrgreen:

Moi j'ai opté pour la solution de l'interdire dans la saisie... mais dans ton cas tu peux faire un StringReplace().
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] MySql et les textes...

#3

Message par jchd »

Interdire ? C'est sauvage !

Tous les moteurs SQL demandent des chaînes litérales entre simples quotes. Pour représenter une quote, il suffit de la doubler.

$text = StringReplace($text, "'", "''")
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] MySql et les textes...

#4

Message par TT22 »

Ou alors utiliser la fonction _SQLite_Escape()
Cordialement,
TT22
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] MySql et les textes...

#5

Message par jchd »

_SQLite_FastEscape, l'ancienne est atroce.
Par contre il ne faut pas entourer de quotes dans ce cas-là.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] MySql et les textes...

#6

Message par Ks10 »

La méthode de Jhcd fonctionne bien pour moi :)

A titre informatif et curiosité :

@TT22 :

- J'utilise les fonctions de l'udf EzMySql.au3 , est-elle compatible avec ta commande _SQLite_Espace() ?

Sujet résolu à par ça :)

Merci
Répondre