Anti slash disparaît

keunene
Messages postés
68
Date d'inscription
samedi 5 avril 2014
Statut
Membre
Dernière intervention
16 mars 2022
- 18 août 2017 à 14:52
keunene
Messages postés
68
Date d'inscription
samedi 5 avril 2014
Statut
Membre
Dernière intervention
16 mars 2022
- 30 août 2017 à 17:12
bonjour,
j'enregistre le lien de l'enregistrement d'une image dans ma base de données mysql.Hélas le lien enregistré mais les antislash du lien disparaissent sans mon consentement.
expl voici un lien que je récupère dans un textbox1:c:\users\hp\documents\visual studio 2012\Projects\CHEMINFICHIER\CHEMINFICHIER\bin\Debug\lefing\vendredi 18 août 201712-49-00.jpg
mais l'enregistrement donne ceci dans la base de données:
c:usershpdocumentsvisual studio 2012ProjectsCHEMINFICHIERCHEMINFICHIERinDebuglefingvendredi 18 août 201712-49-00.jpg
voici mon code d'enregistrement
Try
Dim dtA As New DateTime
dtA = Now


conv.ConnectionString = ("server=192.168.1.114;user ID=keunene1;Password=;database=garage")
conv.Open()

With cmdv
.Connection = conv
.CommandText = "INSERT INTO `garage`.`photo` ( `idph`,`lien`, `datelien`) " & _
"VALUES ( NULL,'" & TextBox1.Text & "','" & dtA.ToLongDateString & " à " & TimeOfDay & "');"
'in this line it Executes a transact-SQL statements against the connection and returns the number of rows affected
result = cmdv.ExecuteNonQuery
'if the result is equal to zero it means that no rows is inserted or somethings wrong during the execution
If result = 0 Then
MsgBox("Data has been Inserted!")
Else
MsgBox(" lien enregistrée pour " & TextBox1.Text, 64, "Contrôle entrée")




End If
End With


conv.Close()
Catch ex As Exception
MsgBox(ex)


End Try

je ne sais pas si le problème vient de la base de données ou du code
merci pour votre aide

1 réponse

NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
18 août 2017 à 18:33
Les \ sont aussi des caractères d’échappements pour les caractères "spéciaux".
par exemple \" affichera dans ton champ "
Il te faut les doubler.

Ton code est vulnérable à une attaque de type injection SQL, regardes les requêtes paramétrées ou échappe tout les caractères sensibles ( " \n \r \\ ... ) (la première solution est la plus propre et la plus sûre)
0
keunene
Messages postés
68
Date d'inscription
samedi 5 avril 2014
Statut
Membre
Dernière intervention
16 mars 2022

30 août 2017 à 17:12
merci infiniment
0