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

python3往mysql插入二進制圖片出現(xiàn)1064錯誤

 更新時間:2023年03月14日 08:38:21   作者:Demonson  
這篇文章主要介紹了python3往mysql插入二進制圖片出現(xiàn)1064錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

往mysql插入二進制圖片1064錯誤

 conn = pymysql.connect(*)
 cur = conn.cursor()
 os.chdir('/home/jibo/zxcsSpider/images/full/')
 list = os.listdir()
 count1 = 0
 for imagename in list:
     count1 += 1
     f = open(imagename, 'rb')
     data = f.read()
     f.close()
     imagepath = '/home/images/full/' + imagename
     imagebin = pymysql.Binary(data)
     sql = "insert into images(imagename,imagepath,imagebin) values('%s', '%s', '%s')"
     cur.execute(sql, (imagename, imagepath, imagebin))
     conn.commit()
 print('image:' + str(count1))
 cur.close()
 conn.close()

上面代碼運行時,mysql會報1064錯誤:

pymysql.err.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 'cecedd67b6d4716bdbab9fac36e0b2ad1c81cbac.jpg'', ''/home/images/f' at line 1")

修改:將('%s', '%s', '%s')改為(%s, %s, %s)

 
 conn = pymysql.connect(*)
 cur = conn.cursor()
 os.chdir('/home/images/full/')
 list = os.listdir()
 count1 = 0
 for imagename in list:
     count1 += 1
     f = open(imagename, 'rb')
     data = f.read()
     f.close()
     imagepath = '/home/images/full/' + imagename
     imagebin = pymysql.Binary(data)
     sql = "insert into images(imagename,imagepath,imagebin) values(%s, %s, %s)"
     cur.execute(sql, (imagename, imagepath, imagebin))
     conn.commit()
 print('image:' + str(count1))
 cur.close()
 conn.close()

再次運行成功;

因為某些文檔干擾,在網(wǎng)上找了大半天才找倒原因問題,pymysql中的參數(shù)%s是不用加''號的,當我們插入字符串的時候可能不會應為這個問題報錯,因為字符串本身也有引號,再次加引號不會報錯,但二進制格式的話就會報錯

圖片如何以二進制存入mysql

MYSQL 支持把圖片存入數(shù)據(jù)庫,也相應的有一個專門的字段 BLOB (Binary Large Object)

首先要在你的mysql數(shù)據(jù)庫中創(chuàng)建一個表,用于存儲圖片

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);

然后用python代碼將本地的圖片存到數(shù)據(jù)庫中

# coding=utf-8
 
import MySQLdb
import sys
 
try:
    fin = open("/home/dsq/tb/8.jpg") #打開本地圖片,路徑要寫自己的
    img = fin.read()
    fin.close()   #讀取結(jié)束,關閉文件
except IOError as e:
    print "Error %d: %s" % (e.args[0], e.args[1])
    sys.exit(1)   #出現(xiàn)錯誤打印錯誤并退出
 
 
try:
    conn = MySQLdb.connect(host="localhost", port=3306, user="root", passwd="#你的數(shù)據(jù)庫密碼#", db="數(shù)據(jù)庫名")    #連接到數(shù)據(jù)庫
 
    cursor = conn.cursor()    #獲取cursor游標
    cursor.execute("INSERT INTO Images SET Data='%s'" % MySQLdb.escape_string(img))   #執(zhí)行SQL語句
 
    conn.commit()   #提交數(shù)據(jù)
    cursor.close()
    conn.close()    #斷開連接
except MySQLdb.Error,e:
    conn.rollback()
    print "Error %d: %s" % (e.args[0], e.args[1])
    sys.exit(1)    #出現(xiàn)錯誤,自動回滾,打印錯誤并退出

發(fā)現(xiàn)圖片成功存儲到數(shù)據(jù)庫中

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python項目打包成exe文件

    Python項目打包成exe文件

    大家好,本篇文章主要講的是Python項目打包成exe文件,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python爬蟲Scrapy框架CrawlSpider原理及使用案例

    Python爬蟲Scrapy框架CrawlSpider原理及使用案例

    這篇文章主要介紹了Python爬蟲Scrapy框架(CrawlSpider),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python中字符串格式化的方法詳解

    Python中字符串格式化的方法詳解

    眾所周知,我們可以使用 print() 方法來輸出一個固定內(nèi)容的字符串,就像是 print("Hello, world!") 一樣,但是,在現(xiàn)實中,我們很多時候是需要輸出一些內(nèi)容不斷變化,或者內(nèi)容動態(tài)生成的字符串,本文將介紹如何按照需要,在Python中格式化一個字符串
    2023-10-10
  • Numpy中np.max的用法及np.maximum區(qū)別

    Numpy中np.max的用法及np.maximum區(qū)別

    這篇文章主要介紹了Numpy中np.max的用法及np.maximum區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 使用torchtext導入NLP數(shù)據(jù)集的操作

    使用torchtext導入NLP數(shù)據(jù)集的操作

    這篇文章主要介紹了使用torchtext導入NLP數(shù)據(jù)集的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • pytest接口自動化測試框架搭建的全過程

    pytest接口自動化測試框架搭建的全過程

    pytest是Python的一種單元測試框架,可用來組織用例執(zhí)行,用例斷言,下面這篇文章主要給大家介紹了關于pytest接口自動化測試框架搭建的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • python中的turtle庫函數(shù)簡單使用教程

    python中的turtle庫函數(shù)簡單使用教程

    這篇文章主要介紹了python中的turtle庫函數(shù)簡單使用教程。本文通過圖片的形式給大家展示的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • Python 將pdf轉(zhuǎn)成圖片的方法

    Python 將pdf轉(zhuǎn)成圖片的方法

    下面小編就為大家分享一篇Python 將pdf轉(zhuǎn)成圖片的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python語法之精妙的十個知識點(裝B語法)

    Python語法之精妙的十個知識點(裝B語法)

    本文精心篩選了最能展現(xiàn) Python 語法之精妙的十個知識點,并附上詳細的實例代碼,需要的朋友可以參考下
    2020-01-01
  • Python使用Beets模塊實現(xiàn)自動整理音樂庫

    Python使用Beets模塊實現(xiàn)自動整理音樂庫

    Beets是一個功能強大的Python庫,用于處理音樂文件的元數(shù)據(jù),在本文中,我們將探討beets模塊的常見使用方法,感興趣的可以跟隨小編一起學習一下
    2024-03-03

最新評論