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)
Другие вопросы по тегам