Blender中的Python编码
Posted
技术标签:
【中文标题】Blender中的Python编码【英文标题】:Python Coding in Blender 【发布时间】:2015-08-14 07:37:04 【问题描述】:谁能帮我解决这个问题?
我将 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”附近使用正确的语法。
有人能告诉我在这里需要做什么吗?我需要一些插件才能让它工作吗?
非常感谢您阅读我的帖子以及提供意见的人。
【问题讨论】:
【参考方案1】:您的 sql INSERT 语句中好像缺少右括号和“S”?
INSERT INTO tblname VALUE (%s
需要
INSERT INTO tblname VALUES (%s)
【讨论】:
我在 %s 之后尝试过,但弹出一个新错误,现在是语法错误 哦,我认为应该是带有“S”的值 我已经尝试过了,但没有任何改变,仍然有错误。 在mysql中保存数据还有其他方法吗? 试试这个:cursor.execute("INSERT INTO tblname VALUES (?)", pname)
以上是关于Blender中的Python编码的主要内容,如果未能解决你的问题,请参考以下文章