Форум сайта python.su
Здравствуйте!
Не могу записать данные введённые в форму в таблицу 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>
#!/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-а ошибка - понятие растяжимое…
Офлайн
Код более чем оригинален, а вот этот кусок просто шедевр.
Fe_DoSЧто вы им хотели сказать? Похоже в анамнезе пхп.cursor.execute(""" INSERT INTO contragent(name_doc, name_doc_all, addres, phone, e_mail)
VALUES ('DN, DNA, ad, ph, eml""")
Офлайн
Решил проблему.
Сделал так:
#!/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()
Офлайн
Fe_DoSможно полюбопытствовать - для чего эта конструкция?form.has_key("docname")
form.has_key("docnameall")
form.has_key("adres")
form.has_key("phone")
form.has_key("mail")
Офлайн