我正在尝试为我使用 MySQL 作为数据库和 ODBC 作为连接器的 ASP.net Web 应用程序创建一个简单的登录。现在我想通过调用 MySQL 例程而不是应用程序端 SQL 来防止 SQL 注入。
传统上,我可以运行一条 SQL 语句并接收一个表结果,我可以将它存储在一个数据类中。这样,我总是可以轻松访问例如角色等用户属性,而无需再次查询数据库。现在使用 mysql 过程或函数,似乎我只能返回简单的值,如字符串、int 或位,而不是完整的表。所以当我想拥有完整的表时,我是否必须运行 2 个查询?一个作为存储函数,如果登录成功则返回例如用户ID,另一个作为用户信息?还是函数能够返回完整的表?