mysql入坑集

一、mysql语句的转义

  1、问题描述

    1、mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪。

    2、字段中含有逗号等特殊符号,组装出来的sql结果就无法执行了。

    3、用户提交的数据作为sql的一部分,有可能出现sql注入等现象。

  2、问题示例:

    1、插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容是:absceeee(反斜杠没了呢)

    2、pymysql组装的sql语句:sql=''select * from miaoyan_myserver_dev.zizaijia_article where name='张'三' and status=2''

  3、解决办法

    1、利用MySQLdb.escape_string()方法对用户输入字段进行转义

    2、利用execute的第二个参数

    3、利用 addslashes()函数进行处理,也就是在插入数据库前,把内容处理一下
  4、提供博客:

    1、https://www.cnblogs.com/sign-ptk/p/6076873.html

    2、https://blog.csdn.net/yuuuuchang/article/details/79039767

猜你喜欢

转载自www.cnblogs.com/xuanan/p/9878520.html