在 MySQL 中存储字符串

发布于 2024-08-31 09:31:52 字数 159 浏览 5 评论 0原文

我有一个 C# 应用程序,它记录用户注释,其中可以包括各种标点符号,例如逗号、撇号、分号等。

目前,我正在让我的应用程序对字符串进行编码,并将它们作为基数 64 存储到数据库中。

有更好的办法吗?

仅供参考:我通过他们的 ODBC 驱动程序使用 MySQL

I've got a C# application which takes a users notes which can include various punctuation marks such as commas, apostrophes, semicolons etc.

At the moment I'm getting my application to encode the strings and storing them into the database as base 64.

Is there a better way?

FYI: I'm using a MySQL through their ODBC driver

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

俯瞰星空 2024-09-07 09:31:52

我猜你正在对它们进行编码,因为标点符号导致你的 SQL 更新/插入失败。

MySQL 不仅能够接受标点符号,因此您需要找到一种不同的方式。

相反,您应该使用参数化查询,a) 允许您使用标点符号,b) 避免 SQL 注入攻击的更大问题。

看一下这个网页,它着眼于查询数据库,但相同的技术也适用于插入/更新

http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

I'm guessing you are encoding them because the punctuation is causing your SQL update/insert to fail.

MySQL is more than capable of accepting punctuation so you need to find a different way.

Instead you should use parameterised queries which a) will allow you to use punctuation and b) avoid the much bigger issue of SQL injection attacks.

Have a look at this webpage which looks at querying your database but the same technique will work with inserts/updates

http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

清醇 2024-09-07 09:31:52

如果您使用参数化查询,它将为您处理编码:

参数化查询

If you use parameterized queries it will handle the encoding for you:

Parameterized Queries

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文