php - .NET Framework 中的 mysql_real_escape_string()

标签 php .net mysql sql-server escaping

我想在 .NET Framework 中找到一个函数来调用 SQL-Server 的库以转义真正发送到 sql server 的值,如 mysql-real-escape-string()在 PHP 中调用 MySQL 的库。
请提出一个我可以调用它的方法,它通过一次往返数据库返回转义字符串,不需要执行它的查询
有吗?

最佳答案

你为什么要这么做?将用户输入发送到数据库的正确方法不是转义,而是使用 query parameters .

using(var command = new SqlCommand("insert into MyTable(X, Y) values(@x, @y)", connection))
{
    command.Parameters.Add("@x", textBoxX.Text);
    command.Parameters.Add("@y", textBoxY.Text);
    command.ExecuteNonQuery();
}

这提供了更好的性能,因为查询文本总是相同的,所以可以缓存查询执行计划。这也可以保护您免受 SQL 注入(inject)攻击。它还允许您忽略数据格式问题(例如 DateTime 在 SQL-Server 中是如何格式化的?您应该如何在 SQL 中表示数字?等等)

关于php - .NET Framework 中的 mysql_real_escape_string(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787669/

相关文章:

php - 获取特定页面 ID 的唯一访客计数 - php

.net - Entity Framework 在匹配实体名称时将 '1' 附加到属性名称

c# - CS0672 : Member `Foo.OnSelected()' overrides obsolete member `Baz.OnSelected()'

php - 当我在我的数据库中输入 connect() 时,我的本地主机服务器出现空白

mysql 过程 - 子句中的 where 条件中的解析参数问题

javascript - 将键、值插入数组 : jQuery

javascript - 使用AJAX使用按钮将表单信息发送到另一个页面

javascript - 我怎样才能让我的提交按钮可点击一次并仍然执行我的php?

c# - ClickOnce:在 64 位 Windows 上运行 x86 程序包时出现 BadImageFormatException

php - 如何使用 PHP 将 session 数组插入 MySQL DB