Heim  >  Fragen und Antworten  >  Hauptteil

Das Argument str() kann nicht verarbeitet werden. Es muss vom Typ Liste, Tupel oder Wörterbuch sein

Dies funktioniert nicht und zeigt den Fehler „Argument kann nicht verarbeitet werden: str (Quality Tyre Service in Ponteland), es muss vom Typ Liste, Tupel oder Wörterbuch sein“

an
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)

Wenn der Wert jedoch direkt in der Abfrage übergeben wird, scheint diese fehlerfrei zu laufen.

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)

Ich habe versucht, String-Parameter über eine Variable zu übergeben, aber es scheint nicht zu funktionieren.

Finden Sie die Antwort später heraus

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()

P粉585541766P粉585541766291 Tage vor451

Antworte allen(1)Ich werde antworten

  • P粉447495069

    P粉4474950692024-01-03 07:17:23

    如错误所述:

    您的参数必须是预期类型之一,但您正在发送 str

    您在 val 变量上添加了括号:

    val = ("Providing Quality Tyre Services in Ponteland")

    但是元组是由逗号,而不是括号定义的,这应该有效:

    val = ("Providing Quality Tyre Services in Ponteland",)

    Antwort
    0
  • StornierenAntwort