标签:val ctr 注入 相对 source dict input strong ini
掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 建立表模型 #注意: 批量加注释:ctrl+?键 批量去注释:ctrl+shift+?键
#准备表、记录 >>> 命令行 mysql> create database db1; mysql> use db1; mysql> source /root/init.sql # navicat建表
# 1.安装:pip3 insatll pymysql # 2.代码链接 import pymysql #链接 conn=pymysql.connect( host=‘localhost‘, user=‘root‘, password=‘123‘, database=‘egon‘, charset=‘utf8‘) #游标 cursor=conn.cursor() #执行完毕返回的结果集默认以元组显示 #cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) # 以字典的方式显示数据 # 3.pymysql操作数据库 #执行sql语句 user = input(">>>:").strip() pwd = input(">>>:").strip() sql=‘select * from userinfo where name="%s" and password="%s"‘ %(user,pwd) #注意%s需要加引号 rows=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目 # 获取真实数据cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),类似管道取值,获取一条,所有,多条 cursor.scroll(1,‘relative‘) # 相对移动 cursor.scroll(3,‘absolute‘) # 绝对移动 cursor.close() conn.close()
# 不要手动去拼接查询的sql语句 username = input(">>>:").strip() password = input(">>>:").strip() sql = "select * from user where username=‘%s‘ and password=‘%s‘"%(username,password) # 用户名正确 username >>>: jason‘ -- jjsakfjjdkjjkjs # 用户名密码都不对的情况 username >>>: xxx‘ or 1=1 --asdjkdklqwjdjkjasdljad password >>>: ‘‘
# 增 sql = "insert into user(username,password) values(%s,%s)" rows = cursor.excute(sql,(‘jason‘,‘123‘)) # 修改 sql = "update user set username=‘jasonDSB‘ where id=1" rows = cursor.excute(sql) """ 增和改单单执行excute并不会真正影响到数据,需要再执行conn.commit()才可以完成真正的增改 """ # 一次插入多行记录 res = cursor,excutemany(sql,[(),(),()]
标签:val ctr 注入 相对 source dict input strong ini
原文地址:https://www.cnblogs.com/zhengyuli/p/10895850.html