久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題

瀏覽:39日期:2022-07-22 14:07:50

在編寫自己的程序時,需要實現(xiàn)將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,并且是帶參數(shù)的傳遞。

執(zhí)行語句如下:

sql_str = 'INSERT INTO teacher(t_name, t_info, t_phone, t_email) VALUES(’%s’, ’%s’, ’%s’, ’%s’)' % (result, result2, phoneNumber, Email)cur.execute(sql_str)

執(zhí)行程序后,產(chǎn)生錯誤:

ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’07、PRICAI’08、ACML’09 程序委員會主席/共同主席,多次擔(dān)任 ACM K’ at line 1')

發(fā)現(xiàn)是因為result2參數(shù)為一個字符串,而字符串中出現(xiàn)了單引號 ’,mysql語句受到影響報錯。

原本認(rèn)為這個問題應(yīng)該會是有標(biāo)準(zhǔn)解決方案,可是網(wǎng)上查詢了一下,遇到這個問題的人不少,但沒有很好的方法解決。

于是考慮了一下,可以讓sql語句在讀取到單引號時,知道這是字符串文本的單引號,所以可以將參數(shù)中單引號替換為 ’ ,這樣或許可以順利語句如下:

result2 = result2.replace('’','’') #將result2中的 ’ 替換為 ’

PS: 這里請務(wù)必看清雙引號以及反斜杠的使用:)

經(jīng)過測試,問題得到了順利解決。

補充知識:python動態(tài)生成變量及sql語句與DF表轉(zhuǎn)化

先說效果:

解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題

如圖,本來是這樣的一個DF表,表示各字段限制條件(A、B、C、D均為字段名)

解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題

通過下面步驟轉(zhuǎn)化為一條sql語句,當(dāng)然也做了反向操作

for i in range(3):locals()[’f’+str(i)]=[]

import pandas as pdimport numpy as npa = pd.DataFrame({'A':['>=',5], 'B':['<',6], 'C':['in',’('ha','he')’], 'D':['like','*q*'] })print(a)b = []for i in a.columns: b.append(str(i)+' '+str(a[i][0])+' '+str(a[i][1]).strip())c = ' and '.join(b) #b = b+str(i)+' '+str(a[i][0])+' '+str(a[i][1])+' '+'and'+' '#print(c)d = c.split(' and ')for i in range(3): locals()[’f’+str(i)]=[] for j in (range(len(d))): f = d[j].split(' ') locals()[’f’ + str(i)].append(f[i])print(f0,f1,f2)g = pd.DataFrame(columns=f0,data=[f1,f2])print(g)

以上這篇解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 子长县| 蒙山县| 深泽县| 饶河县| 武宣县| 黄大仙区| 观塘区| 无极县| 雅安市| 申扎县| 南和县| 蒙自县| 定安县| 阿鲁科尔沁旗| 宜昌市| 伊金霍洛旗| 南开区| 邛崃市| 灵石县| 泰安市| 博湖县| 厦门市| 阿坝县| 吉林省| 甘德县| 扎鲁特旗| 桓台县| 德钦县| 鄂温| 东港市| 洞头县| 福清市| 凤台县| 海伦市| 庆元县| 新巴尔虎右旗| 兴安盟| 镇安县| 灵宝市| 沧州市| 马山县|