欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年06月06日 15:43:11   作者:VeastLee  
這篇文章主要介紹了解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在編寫自己的程序時,需要實現(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)化

先說效果:

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

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

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

import pandas as pd
import numpy as np
a = 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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)切割mp3片段并降低碼率

    Python實現(xiàn)切割mp3片段并降低碼率

    MoviePy是一個基于Python的視頻編輯庫,它提供了創(chuàng)建、編輯、合并、剪輯和轉(zhuǎn)換視頻的功能,所以本文主要介紹如何使用moviepy來分割音頻流并降低碼率,感興趣的可以了解下
    2023-08-08
  • 使用k8s部署Django項目的方法步驟

    使用k8s部署Django項目的方法步驟

    這篇文章主要介紹了使用k8s部署Django項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python深copy和淺copy區(qū)別對比解析

    python深copy和淺copy區(qū)別對比解析

    這篇文章主要介紹了python深copy和淺copy區(qū)別對比解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • OpenCV 之按位運算舉例解析

    OpenCV 之按位運算舉例解析

    這篇文章主要介紹了OpenCV之按位運算舉例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控

    Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控

    這篇文章主要介紹了Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • Python實現(xiàn)Linux監(jiān)控的方法

    Python實現(xiàn)Linux監(jiān)控的方法

    本文通過實例代碼給大家介紹了Python實現(xiàn)Linux監(jiān)控的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Python對接 xray 和微信實現(xiàn)自動告警

    Python對接 xray 和微信實現(xiàn)自動告警

    xray 是從長亭洞鑒核心引擎中提取出的社區(qū)版漏洞掃描神器,支持主動、被動多種掃描方式,自備盲打平臺、可以靈活定義 POC,功能豐富,這篇文章主要介紹了對接 xray 和微信實現(xiàn)自動告警,需要的朋友可以參考下
    2019-09-09
  • python3利用venv配置虛擬環(huán)境及過程中的小問題小結(jié)

    python3利用venv配置虛擬環(huán)境及過程中的小問題小結(jié)

    這篇文章主要介紹了python3利用venv配置虛擬環(huán)境及過程中的小問題小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 解決在pycharm中顯示額外的 figure 窗口問題

    解決在pycharm中顯示額外的 figure 窗口問題

    今天小編就為大家分享一篇解決在pycharm中顯示額外的 figure 窗口問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • django的ORM模型的實現(xiàn)原理

    django的ORM模型的實現(xiàn)原理

    這篇文章主要介紹了django的ORM模型的實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論