Уведомления

Группа в Telegram: @pythonsu

#1 Май 17, 2012 22:56:03

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

sql = "insert into t_product_pictures(photoID, productID, filename, thumbnail, enlarged) values(%s, %s, '%s', '%s', '%s')" % (photoID, row[0],   file, file, file)
print sql
cursor.execute(sql)


вывод print sql верный:
insert into t_product_pictures(photoID, productID, filename, thumbnail, enlarged) values(4946, 11709, ‘0501035006802_01.jpg’, ‘0501035006802_01.jpg’, ‘0501035006802_01.jpg’)

и в консоли phpmyadmin выполняется без ошибок, однако питон ругается:

Traceback (most recent call last):
  File "./file_uploader.py", line 20, in <module>
    cursor.execute(sql)
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/cursors.py", line 174, in execute
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
_mysql_exceptions.OperationalError: (1054, "Unknown column 'al' in 'where clause'")

ничего не помогает, помогите разобраться?

Офлайн

#2 Май 18, 2012 05:35:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

Попробуй так, по крайней мере работает в Sqlite3

data = [4946, 11709, '0501035006802_01.jpg', '0501035006802_01.jpg', '0501035006802_01.jpg']
cursor.execute('INSERT INTO test VALUES (?,?,?,?,?)', data)



Отредактировано FishHook (Май 18, 2012 05:36:36)

Офлайн

#3 Май 18, 2012 09:45:04

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

уже легче, но теперь ругается:

cursor.execute('insert into t_product_pictures values (?,?,?,?,?)', data)
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/cursors.py", line 159, in execute
TypeError: not all arguments converted during string formatting

Офлайн

#4 Май 18, 2012 10:10:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

Покажи структуру таблицы



Офлайн

#5 Май 18, 2012 10:25:33

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

photoID int(11)
productID int(11)
filename varchar(50)
thumbnail varchar(50)
enlarged varchar(50)

Офлайн

#6 Май 18, 2012 10:40:40

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

ХЗ. Должно работать. Точно пять полей, а не больше?



Офлайн

#7 Май 18, 2012 10:44:12

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

стопудово пять!

перепробовал все варианты, убился тапком, ругается и всё тут. Скрипт из под никсов выполняется, вроде кодировка не при делах

Офлайн

#8 Май 18, 2012 12:03:12

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

asphix
перепробовал все варианты, убился тапком, ругается и всё тут.

cursor.execute('insert into t_product_pictures values (%s,%s,%s,%s,%s)', data)

не надо пробовать все варианты, читайте доки и обрящете



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#9 Май 18, 2012 13:39:48

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

PooH
cursor.execute('insert into t_product_pictures values (%s,%s,%s,%s,%s)', data)

это уже пробовал

получил:

Traceback (most recent call last):
  File "./file_uploader.py", line 20, in <module>
    cursor.execute(sql)
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/cursors.py", line 174, in execute
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
_mysql_exceptions.OperationalError: (1054, "Unknown column 'al' in 'where clause'")

Офлайн

#10 Май 18, 2012 13:43:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python 2.5.2 + MySQLdb = помогите понять, где ошибка?

asphix
PooH
cursor.execute('insert into t_product_pictures values (%s,%s,%s,%s,%s)', data)

это уже пробовал :/

получил:

Traceback (most recent call last):
  File "./file_uploader.py", line 20, in <module>
    cursor.execute(sql)
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/cursors.py", line 174, in execute
  File "build/bdist.openbsd-4.3-i386/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
_mysql_exceptions.OperationalError: (1054, "Unknown column 'al' in 'where clause'")
sql = "insert into t_product_pictures(photoID, productID, filename, thumbnail, enlarged) values(%s, %s, '%s', '%s', '%s')" % (photoID, row[0],   file, file, file)

Без процентов перед (photoID, row, file, file, file)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version