有人可以帮我解决这个问题吗?
我将 Blender 2.74 和 Python 3.4 与 MySQL 的正确连接器一起使用。(顺便说一下,我只是使用 Blender 和 Python 的初学者。)
我想要的是制作一个登录用户界面并将输入的名称保存到数据库中,但我的代码似乎有点不对或错误。当我尝试运行代码时,它没有将值保存在变量中,但是当我尝试在 python IDE (PyCharm) 中运行它时它起作用了。
这是代码:
import sys
sys.path.append('C:\Python34\Lib\site-packages')
sys.path.append('C:\Python34\DLLs')
import mysql.connector
import bge
bge.render.showMouse(1)
cont = bge.logic.getCurrentController()
own = cont.owner
sensor = cont.sensors ["enter"]
pname = own.get("prpText")
enter = cont.sensors ["enter"]
numpadenter = cont.sensors ["numpadenter"]
if enter.positive or numpadenter.positive:
db = mysql.connector.connect(user='root', password='', host='localhost', database='dbname')
cursor = db.cursor()
cursor.execute("INSERT INTO tblname VALUE(%s", (pname))
#this are the other codes that i have tried so far:
#add_player = ("INSERT INTO storymode " "(PlayerName) " "VALUES (%s)")
#data_player = (pname)
#cursor.execute(add_player, data_player)
#cursor.execute("INSERT INTO storymode" "(PlayerName)" "VALUES (%(pname)s)")
db.commit()
db.close()
错误是:
mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的 '%s' 附近使用正确的语法。
有人可以告诉我在这里需要做什么吗?我需要一些附加组件才能让它工作吗?
非常感谢您阅读我的帖子以及将发表意见的人。