WeaklyTyped
WeaklyTyped

Reputation: 1341

MySQL-python not executing in CGI

I am working with MySQL-python package. I am able to execute MySQL dependent scripts from command line, however doing the same through browser (Apache CGI) yields the following error:

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.  
/var/www/html/temp.py in ()  
9 
10 # Establich a connection
11 db = MySQLdb.connection(host="127.0.0.1", user="root", passwd="", db="inserv")
12 
13 # Run a MySQL query from Python and get the result set  
   db undefined, MySQLdb = <module 'MySQLdb' from 
  '/usr/lib64/python2.6/site-packages
/MySQLdb/__init__.pyc'>, MySQLdb.connection = <type '_mysql.connection'>,  
host undefined,   user undefined, passwd undefined

<class '_mysql_exceptions.OperationalError'>: 
(2003, "Can't connect to MySQL server on '127.0.0.1' (13)")
  args = (2003, "Can't connect to MySQL server on '127.0.0.1' (13)")
  message = '' 

I have been stuck in this situation for past few days. MySQL commands issued through php based sites execute appropriately and I can, also, login to MySQL from command line. The problem seem to be with Python CGI only.

I have also tried the same with oursql package and there seems to be a similar problem. How can I address this situation?

Edit
As per @Real's answer I have edited my code to use MySQLdb.connect() but the problem still persist and traceback ends with:

2003, "Can't connect to MySQL server on '127.0.0.1' (13)"

Upvotes: 1

Views: 778

Answers (1)

The Real Bill
The Real Bill

Reputation: 15793

You should be using connect, not connection. Mysqldb.connect() returns a connection object but you appear to be calling mysqldb.connection(). See The docs for an example of how to do it.

Upvotes: 1

Related Questions