user2104391
user2104391

Reputation: 413

MYSql CGI Script

Below Code is my CGI Script, where am trying to do a insert Command.

#! C:\Python27\python.exe -u

import cgi
import MySQLdb
import xml.sax.saxutils


query = cgi.parse()
db = MySQLdb.connect(


host = "127.0.0.1",
user = "root",
passwd = "mysql123",
db = "welcome")

print 'Content-type: text/plain\n\n<?xml version="1.0" encoding="utf-8"?>\n<result>'

try:
c = db.cursor()
c.execute("insert into welcome.registrations values ('test','test',now())")
print '\t<update>true</update>'
except:
print '\t<update>false</update>'


print "</result>"

when i run the go to the url - .com/cgi-bin/reg.cgi, am not finding any insert operation done in mysql DB

Upvotes: 0

Views: 729

Answers (2)

akshayb
akshayb

Reputation: 1239

make sure you do a db.commit() after every insert (or in the end, any will work ):

try:
c = db.cursor()
c.execute("insert into welcome.registrations values ('test','test',now())")
db.commit()
db.close() # Make sure you close the connection else multiple connections will result in hanging of mysql server. 

Upvotes: 0

Nathan Villaescusa
Nathan Villaescusa

Reputation: 17649

You need to do db.commit() after c.execute().

Or you could do:

with db:
    c = db.cursor()
    c.execute("insert into welcome.registrations values ('test','test',now())")

Upvotes: 1

Related Questions