1. loal_file(),读文件
1.1 使用前提:文件位置在服务器上; 文件必须为绝对路径; 用户持有FILE权限; 文件容量小于max_allowd_packet(默认为16MB)
1.2 语句: union select 1, load_file(‘/etc/passwd‘),3 #
//时常一些防注入语句不允许单引号的出现,可以将路径转换为十六进制
//浏览器有时候返回数据会存在乱码问题,可使用hex()函数将字符串转换为十六进制
2. into outfile ,写文件
前提与load_file一致
语句: select ‘<一句话>‘ into outfile ‘C:\phpStudy\PHPTutorial\WWW\111.php‘ //其中111.php 是要在对象目录新生成的文件;‘<一句话>‘是要写入文件的内容.
3. concat,group_concat, 连接字符串
作用:可将多个数据显示在一行中
语句1:select concat(user(),database(),version()); //可以将用户名、数据库名、版本号显示在一行
语句2:select id, group_concat(price) from goods group by id;
//使用group_conca需要跟group by 搭配
//如果想去重,可以在()内的开头加上DISTINCT
4. length(’str‘),返回字符串长度, 中文一个字为2个单位,英文为1个
//例如select length(‘你好’); 返回 4 ,select length(‘hello’); 返回 5
5.substring(str,n,[n]),截取字符串
例如 substr(‘hello wordl‘,1,6) 会返回字符串hello // 表示从第一个字符开始截取六位,因为空格也算一位,所以为hello 。
//substr函数不是以0为第一位的
//如果没有参数中的[n],那么会直接截取n之后的所有字符
6.