Ini tidak berfungsi dan menunjukkan ralat "Tidak boleh mengendalikan hujah: str (Perkhidmatan Tayar Berkualiti di Ponteland), ia mestilah senarai jenis, tuple atau kamus"
import mysql.connector from sentence_splitter import SentenceSplitter, split_text_into_sentences mydb = mysql.connector.connect( host="00.00.00.00", user="user", password="password", database="database" ) mycursor = mydb.cursor() sql = ("""SELECT blog_paragraph FROM blog_paragraph WHERE blog_topic like '%"%s"%'""") val = ("Providing Quality Tyre Services in Ponteland") mycursor.execute(sql,val) myresult = mycursor.fetchall() for x in myresult: print(x)
Namun, apabila menghantar nilai terus dalam pertanyaan, ia kelihatan berjalan tanpa sebarang ralat.
import mysql.connector from sentence_splitter import SentenceSplitter, split_text_into_sentences mydb = mysql.connector.connect( host="00.00.00.00", user="user", password="password", database="database" ) mycursor = mydb.cursor() sql = ("""SELECT blog_paragraph FROM blog_paragraph WHERE blog_topic like '%"Providing Quality Tyre Services in Ponteland"%'""") mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
Mencuba menghantar parameter rentetan melalui pembolehubah tetapi nampaknya tidak berkesan.
Nanti tahu jawapannya
mycursor = mydb.cursor() val = "Providing Quality Tyre Services in Ponteland" sql = ("SELECT blog_paragraph FROM blog_paragraph WHERE blog_topic like '%%%s%%' " % val) mycursor.execute(sql) myresult = mycursor.fetchall()
Seperti yang dinyatakan oleh ralat:
Parameter anda mestilah salah satu jenis yang dijangkakan, tetapi anda sedang menghantar
str
Anda menambah kurungan pada pembolehubah
val
:Tetapi ditakrifkan dengan
元组
是由逗号,
dan bukannya kurungan, ini sepatutnya berfungsi: