Mysql 1054中的未知列异常

Mysql 1054中的未知列异常,mysql,pyqt,Mysql,Pyqt,我尝试了所有可能的方法。我在堆栈中包含了字符串的反引号,但没有任何效果。它像往常一样重复错误。 我还尝试了在其他python文件中使用的一些查询,但它仍然显示相同的结果。我还尝试了使用不带连字符的字符串进行查询,即使它不起作用。我找不出这里有什么问题 import MySQLdb import sys from PyQt4 import QtCore, QtGui, uic qtCreatorFile = "Studisplay.ui" # Enter file h

我尝试了所有可能的方法。我在堆栈中包含了字符串的反引号,但没有任何效果。它像往常一样重复错误。 我还尝试了在其他python文件中使用的一些查询,但它仍然显示相同的结果。我还尝试了使用不带连字符的字符串进行查询,即使它不起作用。我找不出这里有什么问题

import MySQLdb
    import sys

    from PyQt4 import QtCore, QtGui, uic

    qtCreatorFile = "Studisplay.ui"  # Enter file here.

    Ui_MainWindow1, QtBaseClass = uic.loadUiType(qtCreatorFile)

    class stuDisplay(QtGui.QMainWindow, Ui_MainWindow1,QtGui.QTableWidget):
        def __init__(self,ID):
            #super(stuDisplay, self).__init__(parent)
            QtGui.QMainWindow.__init__(self)
            Ui_MainWindow1.__init__(self)
            QtGui.QWidget.__init__(self)
            self.setupUi(self)
            obj = MySQLdb.connect("localhost", "root", "1234567", "python")

            #The value of ID here is 14-VEC-244 I also tried `14-VEC-244` but did not work
            sql = 'SELECT MEMname FROM Borrowed WHERE MemberID ='+ str(ID)         

            cursor = obj.cursor()
            cursor.execute(sql)
            name=cursor.fetchone()
            print name
我得到这个错误:

回溯(最近一次调用上次):文件 “/home/gautham/PycharmProjects/LIBALERT/Login.py”,第105行,在 点击按钮 self.call=StuSecond.stuDisplay(StuID)文件“/home/gautham/PycharmProjects/LIBALERT/StuSecond.py”,第22行,在 init cursor.execute(sql)文件“/usr/lib/python2.7/dist packages/MySQLdb/cursors.py”,第226行,在 执行 self.errorhandler(self、exc、value)文件“/usr/lib/python2.7/dist packages/MySQLdb/connections.py”,第36行,在 defaulterrorhandler 提高错误值 _mysql_exceptions.OperationalError:(1054,“where子句”中的未知列“VEC”)


您正在将一个字符串传递到
WHERE
子句中,因此必须在传递到数据库的查询字符串中引用该字符串,如下所示:

sql = "SELECT MEMname FROM Borrowed WHERE MemberID = '" + str(ID) + "'"
这样完成的字符串看起来像

sql=“从借来的MemberID='14-VEC-244'中选择MEMname”

(请注意,单引号是“正向”引号,而不是反引号。)


这也是一份准备好的声明的极好申请;不幸的是,我不熟悉pyqt,因此无法在这方面向您提供建议

将字符串传递到
WHERE
子句中,因此必须在传递到数据库的查询字符串中引用该字符串,如下所示:

sql = "SELECT MEMname FROM Borrowed WHERE MemberID = '" + str(ID) + "'"
这样完成的字符串看起来像

sql=“从借来的MemberID='14-VEC-244'中选择MEMname”

(请注意,单引号是“正向”引号,而不是反引号。)

这也是一份准备好的声明的极好申请;不幸的是,我不熟悉pyqt,因此无法在这方面向您提供建议