Anti slash disparaît

keunene Messages postés 72 Date d'inscription samedi 5 avril 2014 Statut Membre Dernière intervention 10 mars 2023 - 18 août 2017 à 14:52
keunene Messages postés 72 Date d'inscription samedi 5 avril 2014 Statut Membre Dernière intervention 10 mars 2023 - 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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 72 Date d'inscription samedi 5 avril 2014 Statut Membre Dernière intervention 10 mars 2023
30 août 2017 à 17:12
merci infiniment
0
Rejoignez-nous