python 字符串组成MySql 命令时,字符串含有单引号或者双引号导致出错解决办法
引用自:https://blog.csdn.net/zhaoya_huangqing/article/details/48036839
解决办法:
cur.execute(u'''update table set name = %s where id = %s;''' , (name.decode('utf-8'),index))
举例:
name="I'mHere"
注意: cursor.execute()可以接受一个参数,也可以接受两个参数:
(1) cur.execute("insert into resource(cid,name) values(%s, %s)" , (12,name) );
这种格式是接受两个参数,MySQLdb会自动替你对字符串进行转义和加引号,不必再自己进行转义,执行完此语句之后,resource表中多了一条记录: 12 I'mHere
(2) cur.execute("insert into resource(cid,name) values(%s, %s)" % (12,name) );
这种格式是利用python的字符串格式化自己生成一个query,也就是传给execute一个参数,此时必须自己对字符串转义和增加引号,即上边的语句是错误的,应该修改为:
name = MySQLdb.escape_string(name);
cursor.execute("insert into resource(cid,name) values(%s, '%s')" % (12,name) );
这样插入的记录才和(1)一样:12 I'mHere
python 字符串组成MySql 命令时,字符串含有单引号或者双引号导致出错解决办法的更多相关文章
- Js参数值中含有单引号或双引号解决办法
<script type="text/javascript"> function Display(LoginEmail, UserName, ID) { ...
- python 插入mysql数据库字符串中含有单引号或双引号报错
出现问题场景:使用mysql数据库管理接口测试用例,新增接口用例时,传入的paras内容,有多层嵌套的时候,就会有["]双引号括住[']单引号的情况,可能在插入单双引号的数据到数据库的时候, ...
- Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?
一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...
- PHP定义字符串时单引号和双引号的区别
一般用单引号或双引号标识一个字符串.单引号串与双引号串,在PHP中的处理是不同的.双引号中的内容可以被解释并被替换,单引号串中的内容则被作为普通字符处理. 例如: $str=6; echo " ...
- 【python】sql语句插入中内容同时包含单引号和双引号的解决办法
在python中调用MySQLdb模块插入数据信息,假设待输入信息data为: Hello'World"! 其中同时包含了单引号和双引号 一般插入语句为 sql = "insert ...
- python 单引号、双引号和三引号混用
单引号: 当单引号中存在单引号时,内部的单引号需要使用转义字符,要不然就会报错: 当单引号中存在双引号时,双引号可以不用加转义字符,默认双引号为普通的字符,反之亦然. 双引号: 当双引号中存在双引号时 ...
- Python单引号、双引号、三个双引号的区别
单引号与双引号是作用是一样的,都是字符串定界符. 如果字符串里面包含的与边界一样的符号,需要转义符来将该符号转成普通字符,不然编译器会将字符串中的那个单引号或双引号当成字符串的边界. 例如: ‘I d ...
- mysql单引号和双引号的用法
表名,列名最好用`(esc下面那个,不用`会出错) 这就要从双引号和单引号的作用讲起:双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出.例如:$abc= ...
- python--基础学习(三)字符串单引号、双引号、三引号
1.基本认识 单引号字符串:'python' 双引号字符串:"python" 三引号字符串:'''python'''(三单引号),"""python& ...
随机推荐
- Python入门系列教程(一)基础
基础知识 1.变量及类型 2.换行\n 3.输入 password = raw_input("请输入密码:") print '您刚刚输入的密码是:', password 4.格式化 ...
- 【BZOJ】1443: [JSOI2009]游戏Game
[算法]博弈论+二分图匹配(最大流) [题解]方格图黑白染色得到二分图, 二分图博弈:当起点不属于某个最大匹配时,后手必胜. 问题转化为那些点不属于某个最大匹配. 先找到一个最大匹配,非匹配点加入答案 ...
- asp.net EF框架执行原生SQL语句
1.执行无参数sql: string sql = "select * from IntegralInfo where convert(nvarchar,getdate(),23)='{0}' ...
- .net 加密与解密
public class Encrypts { /// <summary> /// 构造方法 /// </summary> public Encrypts() { } /// ...
- java 多线程下载功能
import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; impo ...
- proxysql 系列 ~ 总揽概括
一 简介: proxysql相关知识汇总 二 proxysql 相关报错 1 proxysql 报错 too many connections 分析 proxysql关于连接池的参数 ...
- IP分片丢失重传 - Sacrifice的日志 - 网易博客
尽管IP分片看起来是是透明的,但有一点让人不想使用它:即使只丢失一片数据也要重传整个数据报.为什么会发生这种情况呢? 因为IP层本身没有超时重传的机制--由更高层来负责超时和重传(TC ...
- Linux内核调试方法【转】
转自:http://www.cnblogs.com/shineshqw/articles/2359114.html kdb:只能在汇编代码级进行调试: 优点是不需要两台机器进行调试. gdb:在调试模 ...
- Ubuntu 分辨率显示出错,分辨率不是最佳分辨率的解决办法
本文为转载,但在Ubuntu16.04LTS下亲测有效. (1)首先使用 xrandr 命令列出当前所能检测到的分辨率,如一台显示器,最佳分辨率为 1440x900(我的显示器尽量设置1680x105 ...
- 【转】Visual Studio——多字节编码与Unicode码
多字节字符与宽字节字符 1) char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t. char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为 ...