Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan 'TypeError: Tidak Semua Argumen Ditukar Semasa Pemformatan Rentetan' dalam Pertanyaan SQL Berparameter?
Pertanyaan SQL Berparameter: Menyelesaikan "TypeError: Tidak Semua Argumen Ditukar Semasa Pemformatan Rentetan"
Dalam pertanyaan SQL berparameter, adalah penting untuk memastikan yang betul sintaks dan penukaran data untuk mengelakkan ralat. Apabila cuba menggunakan pemformatan rentetan dalam pertanyaan berparameter, ralat "TypeError: tidak semua argumen ditukar semasa pemformatan rentetan" boleh timbul.
Untuk menyelesaikan isu ini, elakkan menggunakan %s sebagai ruang letak untuk argumen. Sebaliknya, hantarkan argumen sebagai senarai berasingan kepada kaedah execute(). Contohnya:
import MySQLdb as mdb class Test: def check(self, search): con = mdb.connect(...) cur = con.cursor() cur.execute("SELECT * FROM records WHERE email LIKE %s", [search]) ...
Dengan melepasi carian dalam senarai, anda secara eksplisit menyatakan bahawa ia harus dianggap sebagai hujah yang berasingan untuk penukaran dan kemasukan dalam pertanyaan. Pendekatan ini memastikan bahawa semua hujah ditukar dengan betul dan digunakan dalam pertanyaan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'TypeError: Tidak Semua Argumen Ditukar Semasa Pemformatan Rentetan' dalam Pertanyaan SQL Berparameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!