我正在做一個小imageboard之類的話,而我試圖做一個MySQL插入,但這段代碼是拋出一個錯誤:IndexError:元組索引超出範圍 - 字符串格式化
curs.execute("INSERT INTO posts(date,replies,title,link,text,userip,username) VALUES('{}',{},'{}','{}','{}','{}','{}');".format((self.date.isoformat(),self.replies,self.title,self.embed,self.text,self.userip,self.username)))
而這裏的誤差(上獵鷹/ WSGI上運行此):
2015-05-05 17:37:14,135 :Traceback (most recent call last):
2015-05-05 17:37:14,136 : File "/bin/user_wsgi_wrapper.py", line 130, in __call__
2015-05-05 17:37:14,136 : self.error_log_file.logger.exception("Error running WSGI application")
2015-05-05 17:37:14,136 : File "/usr/lib/python2.7/logging/__init__.py", line 1185, in exception
2015-05-05 17:37:14,136 : self.error(msg, *args, **kwargs)
2015-05-05 17:37:14,136 : File "/usr/lib/python2.7/logging/__init__.py", line 1178, in error
2015-05-05 17:37:14,136 : self._log(ERROR, msg, args, **kwargs)
2015-05-05 17:37:14,136 : File "/usr/lib/python2.7/logging/__init__.py", line 1270, in _log
2015-05-05 17:37:14,137 : record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra)
2015-05-05 17:37:14,137 : File "/usr/lib/python2.7/logging/__init__.py", line 1244, in makeRecord
2015-05-05 17:37:14,137 : rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
2015-05-05 17:37:14,137 : File "/usr/lib/python2.7/logging/__init__.py", line 284, in __init__
2015-05-05 17:37:14,137 : self.threadName = threading.current_thread().name
2015-05-05 17:37:14,137 : File "/usr/lib/python2.7/threading.py", line 1160, in currentThread
2015-05-05 17:37:14,137 : return _active[_get_ident()]
2015-05-05 17:37:14,137 : File "/bin/user_wsgi_wrapper.py", line 122, in __call__
2015-05-05 17:37:14,138 : app_iterator = self.app(environ, start_response)
2015-05-05 17:37:14,138 : File "/home/isitcoldinfallschurch/.virtualenvs/myvirtualenv/local/lib/python2.7/site-packages/falcon/api.py", line 175, in __call__
2015-05-05 17:37:14,138 : responder(req, resp, **params)
2015-05-05 17:37:14,138 : File "./new.py", line 89, in on_post
2015-05-05 17:37:14,139 : thispost.insertdb()
2015-05-05 17:37:14,139 : File "./new.py", line 57, in insertdb
2015-05-05 17:37:14,140 : curs.execute("INSERT INTO posts(date,replies,title,link,text,userip,username) VALUES('{}',{},'{}','{}','{}','{}','{}');".format((self.date.isoformat(),self.replies,self.title,self.embed,self.text,self.userip,self.username)))
2015-05-05 17:37:14,140 :IndexError: tuple index out of range
我如何糾正呢?
你的第二組of''{}' 缺少單引號'VALUES(「{}」 {} '{}','{}','{}','{}','{}')' – CoryKramer
你爲什麼要創建另一個元組?只需做'format(self.date.isoformat(),self.replies,self.title,self.embed,self.text,self.userip,self.username)' – thefourtheye
@Cyber如果該值實際上是一個數字,那麼你不需要它們我猜 – thefourtheye