Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2011 15:40:36

Fe_DoS
От:
Зарегистрирован: 2010-11-18
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить запись в таблицу.

Здравствуйте!
Не могу записать данные введённые в форму в таблицу MySQL.
Я делаю так:
Форма

<form action="add.py" metod="POST">
<label>Имя документа</label><br>
<input type="text" class="ed" name="docname"/><br>
<label>Полное имя документа</label><br>
<input type="text" class="ed" name="docnameall"/><br>
<label>Адрес</label><br>
<input type="text" class="ed" name="adres"/><br>
<label>Телефон</label><br>
<input type="text" class="ed" name="phone"/><br>
<label>e-mail</label><br>
<input type="text" class="ed" name="mail"/><br>
<input type="submit" value="Добавить" />
<input type="button" value="закрыть" onclick="addDoc('agent_close');"/>
</form>
add.py
#!/usr/bin/python
import cgi
import MySQLdb

form = cgi.FieldStorage()
form.has_key("docname")
form.has_key("docnameall")
form.has_key("adres")
form.has_key("phone")
form.has_key("mail")
DN = form["docname"].value
DNA = form["docnameall"].value
ad = form["adres"].value
ph = form["phone"].value
eml = form["mail"].value

MyDB=MySQLdb.connect(host='localhost', user='login', passwd='pass', db='dbname')
cursor = MyDB.cursor()
cursor.execute(""" INSERT INTO contragent(name_doc, name_doc_all, addres, phone, e_mail)
VALUES ('DN, DNA, ad, ph, eml""")
MyDB.commit()
MyDB.close()
Получаю 500 ошибку.
Подскажите что не так делаю.
Заранее благодарю.



Офлайн

#2 Янв. 31, 2011 15:42:45

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Добавить запись в таблицу.

Поставьте трейс, и отдебажте, 500-а ошибка - понятие растяжимое…



Офлайн

#3 Янв. 31, 2011 15:56:42

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

Добавить запись в таблицу.

Код более чем оригинален, а вот этот кусок просто шедевр.

Fe_DoS
cursor.execute(""" INSERT INTO contragent(name_doc, name_doc_all, addres, phone, e_mail) 
VALUES ('DN, DNA, ad, ph, eml""")
Что вы им хотели сказать? Похоже в анамнезе пхп.



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

Офлайн

#4 Фев. 1, 2011 11:48:55

Fe_DoS
От:
Зарегистрирован: 2010-11-18
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавить запись в таблицу.

Решил проблему.
Сделал так:

#!/usr/bin/python
import cgi
import MySQLdb

form = cgi.FieldStorage()
form.has_key("docname")
form.has_key("docnameall")
form.has_key("adres")
form.has_key("phone")
form.has_key("mail")
DN = form["docname"].value
DNA = form["docnameall"].value
ad = form["adres"].value
ph = form["phone"].value
eml = form["mail"].value

MyDB=MySQLdb.connect(host='localhost', user='sevreidru', passwd='S1412vrDf', db='dogovor', charset='utf8')
cursor = MyDB.cursor()
cursor.execute(""" INSERT INTO contragent(name_doc, name_doc_all, addres, phone, e_mail) VALUES (%s, %s, %s, %s, %s)""", (DN, DNA, ad, ph, eml))
MyDB.commit()
MyDB.close()
Теперь всё работает.



Офлайн

#5 Фев. 1, 2011 22:15:14

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Добавить запись в таблицу.

Fe_DoS
form.has_key("docname")
form.has_key("docnameall")
form.has_key("adres")
form.has_key("phone")
form.has_key("mail")
можно полюбопытствовать - для чего эта конструкция?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version