मैं Python3 में एक MySQL डीबी में इनपुट से कैसे बच सकता हूं? मैं PyMySQL उपयोग कर रहा हूँ और ठीक काम करता है, लेकिन जब मैं की तरह कुछ करने की कोशिश: अगर स्ट्रिंग '
या "
है यह काम नहीं करेगामैं Python3 में एक MySQL डीबी में इनपुट से कैसे बच सकता हूं?
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = '{}'".format(request[1]))
। मैं भी करने की कोशिश की:
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = %s",request[1])
इस के साथ समस्या यह है कि पुस्तकालय (PyMySQL) Python2.x, %
के लिए स्वरूपण वाक्य रचना, कि अब और काम नहीं करता है का उपयोग करता है। मैं भी here में यह संभव समाधान
conn.escape_string()
पाया, लेकिन मैं जहां इस कोड को जोड़ना पता नहीं है। यह सब है मुझे मिल गया:
import pymysql
import sys
conn = pymysql.connect(host = "localhost",
user = "test",
passwd = "",
db = "test")
cursor = conn.cursor()
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = {}".format(request[1]))
result = cursor.fetchall()
cursor.close()
conn.close()
संपादित करें: मैं इसे हल! PyMySQL में सही तरीके से इस तरह है:
import pymysql
import sys
conn = pymysql.connect(host="localhost",
user="test",
passwd="",
db="test")
cursor = conn.cursor()
text = conn.escape(request[1])
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = {}".format(text))
cursor.close()
conn.close()
कहाँ text = conn.escape(request[1])
लाइन क्या कोड निकल जाता है। इसे PyMySQL कोड के अंदर मिला। वहां, request[1]
इनपुट है।
कूल। हालांकि, आपको अपने प्रश्न के दूसरे भाग को उत्तर के रूप में पोस्ट करना चाहिए। आप अपना जवाब स्वीकार कर सकते हैं। – Grilse
ओह, मैंने पहले उस बटन को नहीं देखा था। – user1460016
यदि हल किया गया है, तो स्वीकार किए गए अपने प्रश्न को ध्वजांकित करें। :-) – Jocelyn