Python Coding в Blender
Может кто-нибудь помочь мне решить эту проблему?
Я использую 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, для правильного синтаксиса, чтобы использовать около '%s' в строке 1.
Может кто-нибудь сказать, что мне нужно сделать здесь? Нужно ли надстройки, чтобы он работал?
Большое спасибо за чтение моего поста и за людей, которые выскажут свое мнение.
1 ответ
Похоже, вам не хватает закрывающей скобки и символа 'S' в выражении SQL INSERT?
INSERT INTO tblname VALUE (%s
должно быть
INSERT INTO tblname VALUES (%s)