防止sql注入——多个参数的使用

防止sql注入——多个参数的使用

import pymysql
#2. 创建连接对象
#connect = Connection = Connect
# 1)host:服务器主机地址
# 2)port:服务器端口号3306
# 3)user:用户名root/admin
# 4)password 密码
# 5)database :操作的数据库 mysql/pymysql_test
# 6)charset:获取数据库编码格式:utf8
if __name__ == '__main__':

    conn = pymysql.connect( 
                            host = 'localhost',    
                            port = 3306,
                            user = 'user',          
                            password = '123456',
                            database = 'pymysql_test',
                            charset = 'utf8'
                           )
    # 3. 获取游标,执行sql语句
    cursor = conn.cursor()
    # 防止sql注入:将sql语句中%s站位所需要的的参数存在一个列表中,%s是sql语句的参数和字符串里面的%s不一样,不要加上引号
    sql = "insert into students(name,age,gender,address) values(%s,%s,%s,%s)";
    print(sql)
    try:
        #4. 执行sql语句
        # 1. sql
        # 2. 执行sql语句的传入参数,参数类型可以是元组,列表,字典
        cursor.execute(sql,["张三",18,'男',"深圳"]);
        conn.commit()
    except Exception as error:
        conn.rollback()
    finally:
        # 5.关闭游标
        cursor.close()
        # 6. 关闭连接
        conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值