>: ").strip()pwd=input("password>>: ").strip("/>
我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pymysql

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pymysql

pymysql

python代码连接mysql数据库

有bug(sql注入的问题):

#pip3 install pymysql
import pymysql

user=input("user>>: ").strip()
pwd=input("password>>: ").strip()

# 建立链接
conn=pymysql.connect(
    host="192.168.10.15",
    port=3306,
    user="root",
    password="123",
    db="db9",
    charset="utf8"
)

# 拿到游标
cursor=conn.cursor()

# 执行sql语句

sql="select * from userinfo where user = "%s" and pwd="%s"" %(user,pwd)
rows=cursor.execute(sql)

cursor.close()
conn.close()

# 进行判断
if rows:
    print("登录成功")
else:
    print("登录失败")

 

在sql语句中 --空格 就表示后面的被注释了,所以密码pwd就不验证了,只要账户名对了就行了,这样跳过了密码认证就是sql注入

 

 这样的连用户名都不用知道都可以进入,所以在注册账户名时好多特殊字符都不让使用,就怕这个.

 

 

 

 

改进版(防止sql注入)

 

#pip3 install pymysql
import pymysql

user=input("user>>: ").strip()
pwd=input("password>>: ").strip()

# 建立链接
conn=pymysql.connect(
    host="192.168.10.15",
    port=3306,
    user="root",
    password="123",
    db="db9",
    charset="utf8"
)

# 拿到游标
cursor=conn.cursor()

# 原来的执行sql语句

# sql="select * from userinfo where user = "%s" and pwd="%s"" %(user,pwd)
# print(sql)
# 现在的
sql="select * from userinfo where user = %s and pwd=%s"
rows=cursor.execute(sql,(user,pwd))
#原来是在sql中拼接,现在是让execute去做拼接user和pwd

cursor.close()
conn.close()

# 进行判断
if rows:
    print("登录成功")
else:
    print("登录失败")

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pymysql

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pymysql

python代码连接mysql数据库有bug(sql注入的问题):#pip3 install pymysqlimport pymysqluser=input("user>>: ").strip()pwd=input("password>>: ").strip(
pymysql
2020-06-10

python-pymysql

1.基本用法import pymysql#建立连接conn=pymysql.connect( host='localhost', port=3306, user='root', password='123456',
2023-01-31

元类, pymysql

元类, pymysql一、元类自定义元类'''1、什么是元类? - 类的类就是type,其实type就是元类2、元类的作用?3、如何创建元类以及使用?'''# # 1、一切皆对象# list1 = [] # list1 = list([])# prin
2020-12-26

pymysql KeyError:25

在weibospider项目新建所有的表时遇到的错误:Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/l
2023-01-31

python3之pymysql

pymsql是Python中操作MySQL的模块并且只有在Python3.0版本中才存在,其使用方法和MySQLdb几乎相同。下载安装pymsql模块pip3 install pymysql操作前准备#1.创建数据库mysql> creat
2023-01-31

python pymysql存储

1 # _*_ coding:utf-8 _*_ 2 import requests 3 from bs4 import BeautifulSoup 4 import re 5 import pymysql 6 7 def create(
2023-01-30

python安装pymysql

1.通过pip进行安装 pip install pymsql2.验证安装是否成功 python import pymysql pymysql.VERSION
2023-01-31

【Python3】pymysql模块

1. 什么是 PyMySQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure
2023-01-31

Python的pymysql用法

使用pip安装pymysql 的方法pip install pymysql连接数据库conn = pymysql.connect(host="127.0.0.1", user="用户名", password="密码", database="数据库名", cha

	Python的pymysql用法
2017-03-03

pymysql模块的使用

pymysql的下载和使用之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装(1)pymysq
2023-01-30

OSX下mysql、pymysql的安

OSX下mysql安装较为简单,mysql官网下载地址http://dev.mysql.com/downloads/mysql/选择OSX版本安装TIPS:默认新版mysql在OSX下的配置文件/etc/my.cnf不存在,其他默认路径下也
2023-01-31

python 3 使用pymysql 连

pymysql 连接Inception ,在判断版本时会出现value error 问题。原因是pymysql通过‘.’进行分割,但是Inception的版本信息是这样的 ./mysql -V Ver 14.14 Distrib Incep
2023-01-31

python3使用pymysql操作My

一个小例子先建立数据库连接返回一个游标对象通过对游标对象的各种方法来实现对数据库的增删改查最后关闭数据库连接#首先在mysql数据库中建立mytest数据库并建立student表import pymysql# 打开数据库连接 connec
2023-01-31

python3 pymysql实现事务处

try:    cursor.execute(sql_1)      cursor.execute(sql_2)      cursor.execute(sql_3)  except Exception as e:    connect.r
2023-01-31

pymysql的使用超详细

目录 一、安装pymysql二、使用步骤(1)导包(2)连接数据库(3)创建游标(4)操作数据库①添加数据【增】②删除/修改数据【删/改】③查询数据 (5)关闭连接pymysql总结 三、常见问题1)不知道ip地址(1)w
2023-08-18

pymysql--插入300万数据

需求:mysql怎么快速插入300万行数据?(效率要高)分析:(1)使用pymysql多行插入(提高效率) (2)使用python协程(遇到I/O操作就切换任务,无需等待--提高效率)写代码之前的准备工作:创建db20数据库,创建us
2023-01-30

编程热搜

目录