返回顶部
首页 > 资讯 > 数据库 >mysql中 ${param}与#{param}使用区别
  • 240
分享到

mysql中 ${param}与#{param}使用区别

mysql${param}#{param}mysql${param}与#{param}区别 2022-05-24 01:05:02 240人浏览 独家记忆
摘要

${param}传递的参数会被当成sql语句中的一部分,比如传递表名,字段名 例子:(传入值为id) order by ${param}  则解析成的sql为: order by id #{parm}

${param}传递的参数会被当成sql语句中的一部分,比如传递表名,字段名

例子:(传入值为id)

order by ${param} 

则解析成的sql为:

order by id

#{parm}传入的数据都当成一个字符串,会对自动传入的数据加一个双引号

例子:(传入值为id)

select * from table where name = #{param}

则解析成的sql为:

select * from table where name = "id"

为了安全,能用#的地方就用#方式传参,这样可以有效的防止sql注入攻击

sql注入简介

直接上了百度的例子,感觉一看就清晰明了

某个网站的登录验证的SQL查询代码为:


strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

恶意填入
userName = "1' OR '1'='1";与passWord = "1' OR '1'='1";时,将导致原本的SQL字符串被填为
strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1'); "
也就是实际上运行的SQL命令会变成下面这样的strSQL = "SELECT * FROM users;"

这样在后台帐号验证的时候巧妙地绕过了检验,达到无账号密码,亦可登录网站。所以SQL注入攻击被俗称为黑客的填空游戏。

到此这篇关于Mysql中 ${param}与#{param}使用区别的文章就介绍到这了,更多相关mysql中 ${param}与#{param}区别内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中 ${param}与#{param}使用区别

本文链接: https://lsjlt.com/news/9666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql中 ${param}与#{param}使用区别
    ${param}传递的参数会被当成sql语句中的一部分,比如传递表名,字段名 例子:(传入值为id) order by ${param}  则解析成的sql为: order by id #{parm}...
    99+
    2022-05-24
    mysql ${param} #{param} mysql ${param}与#{param}区别
  • Mybatis中${param}与#{param}的区别说明
    目录${param}与#{param}的区别Mybatis中#{}与${}使用总结#{ }与${ }的区别使用总结${param}与#{param}的区别 ${param}表达式主要...
    99+
    2024-04-02
  • @RequestBody,@RequestParam和@Param的区别说明
    目录@RequestBody,@RequestParam和@Param区别@Param@RequestBody@RequestParam@RequestParam使用注意事项比如下面...
    99+
    2024-04-02
  • @RequestBody,@RequestParam和@Param的区别是什么
    这篇文章主要介绍了@RequestBody,@RequestParam和@Param的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@RequestBody,@Re...
    99+
    2023-06-29
  • php param怎么使用
    本篇内容主要讲解“php param怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php param怎么使用”吧!php中的param没有特殊含义,通常在注释中用于编写文档,比如“”。本...
    99+
    2023-06-22
  • Mybatis中@Param注解的作用说明
    目录@Param注解的作用说明1.关于@Param2.原始的方法3.使用@Param@Param注解和参数使用1.使用@Param注解2.不使用@Param注解@Param注解的作用...
    99+
    2024-04-02
  • java中context-param的作用是什么
    在Java中,context-param是用于在web.xml文件中配置应用程序的初始化参数的。它的作用是提供一种在整个应用程序中共...
    99+
    2023-09-15
    java
  • Mybatis中@Param注解的用法详解
    目录1、概述2、实例:实例一:@Param注解基本类型的参数实例二:@Param注解JavaBean对象3、注意点附:为什么要用@param总结1、概述 首先明确这个注解是为SQL语...
    99+
    2024-04-02
  • Mybatis中@Param的用法和作用详解
    用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中我们先来看Mapper接口中的@Select方法package Mapper; public inte...
    99+
    2023-05-31
    mybatis param
  • Mybatis Mapper中多参数方法不使用@param注解报错的解决
    目录问题描述寻求解决方案寻找原因拓展延伸在使用低版本的Mybatis的时候,Mapper中的方法如果有多个参数时需要使用@param注解,才能在对应xml的sql语句中使用参数名称获...
    99+
    2024-04-02
  • MySQL中in与exists的使用及区别介绍
    先放一段代码 for(int i=0;i<1000;i++){ for(int j=0;j<5;j++){ System.out.println("hello"); } } for...
    99+
    2024-04-02
  • MySQL @与@@区别
    MySQL @与@@区别1、@xxx 是 用户自定义的变量  (User variables are written as @var_name)2、@@x xxx是 global或session变量  (@...
    99+
    2024-04-02
  • mysql中replaceinto与insertinto区别
    replace into 遇到主键或唯一索引冲突时,会先删除数据,再插入新数据 insert into 遇到主键或唯一索引冲突时,会直接报错,不插入数据 案例: 新建一个test表,...
    99+
    2023-01-18
    mysql replace into mysql insert into replace into与insert into
  • Python中“is”与“==”的使用区别
    一、功能的区别 “is”: “is”用于比较两个变量是否指向内存中的同一对象。 “==”:“==”用于比较两个变量的值是否相等。 二、使用场景的区别 “is”: “is”通常用于比较变量与单例值(如None)...
    99+
    2023-10-29
    区别 Python
  • 在 MySQL 中使用 INT(1) 与 TINYINT(1) 有区别吗?
    括号中使用的数字1仅用于宽度显示。 INT(1)和TINYINT(1)不影响存储。TINYINT占用1个字节,这意味着它的范围是-128到+127,而int占用4个字节;它的范围是 -2147483648 到 +2147483647要了解宽...
    99+
    2023-10-22
  • MySQL中InnoDB与MyISAM的区别
    这期内容当中的小编将会给大家带来有关MySQL中InnoDB与MyISAM的区别,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。InnoDB存储引擎InnoDB,是MySQL的数据库引擎...
    99+
    2024-04-02
  • mysql中null与(null的区别
    mysql 中 null 和 (null) 区别如下:null 表示未知值,而 (null) 表示明确空值。null 不占用存储空间,而 (null) 占用一个字节。null 不等于任何...
    99+
    2024-05-01
    mysql
  • mysql中null与(null)的区别
    在 mysql 中,null 代表空值,不占用空间,而 (null) 是空字符串值,占用 1 字节空间。它们的区别包括:存储方式不同、比较方式不同、插入方式不同、聚合函数处理方式不同、索...
    99+
    2024-05-01
    mysql 聚合函数
  • mongodb与mysql区别
    MySQL是关系型数据库。   优势:1、在不同的引擎上有不同 的存储方式。2、查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。3、开源数据库的份额在不断增加,mysql...
    99+
    2024-04-02
  • Redis与Mysql区别
    一、关系型数据库   mysql,pgsql,oracle ,sqlserver 支持连表关联查询(会有一些特定的语法特特性)   二、非关系型数据库 redis,mongodb,memcache (key-value)   三、关系型数据...
    99+
    2023-09-09
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作