mysql query results to web page
Aaron Watters
aaron.watters at gmail.com
Tue Jun 22 17:25:06 EDT 2010
On Jun 22, 4:50 pm, Greg <gfi... at gmail.com> wrote:
> I'd like to query my local MySQL db and send the results to a locally
> served web page. I've poked around and found complex examples using
> web2py and pylons.... What's best for beginners? Can somebody lay out
> the basic steps for me?
>
> thanks,
>
> Greg
You need to use some sort of web server and some sort
of interface to a web server. Most web servers support
the CGI interface. Here is an example query using a
web server CGI interface and the WSGI/CGI translator.
This is one of many options, but it has the advantage
that you can move to a higher performance approach
later if you need to without changing code.
=== cut, beginning of file
#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
import sys
import wsgiref.handlers
import MySQLdb
def application(env, start_response):
connection = MySQLdb.connect(host="localhost", user="me",
passwd="xyz", db="mydatabase")
cursor = connection.cursor()
cursor.execute("select * from MY_TABLE")
start_response("200 OK", [('Content-Type', 'text/html')])
for x in cursor.fetchall():
yield str(x)
yield "<br>\n"
# serve a CGI request using the application
wsgiref.handlers.CGIHandler().run(application)
=== end of file
Here is a link to the running example I just tested:
http://aaron.oirt.rutgers.edu/cgi-bin/mysql.cgi
The first thing you should try is getting the "hello world"
CGI script running before adding the MySQL query.
I had to make the CGI script executable and have it point
to my Python installation in the first line. Please see
http://docs.python.org/library/cgi.html
for a discussion of CGI scripting. I also had to mess
with some directory permissions because my MySQLdb on my
Mac in inside a Python Egg... to get around these sorts
of problems you may have to look at your server error log.
Also please see the WHIFF quickstart for a discussion
of setting up a WSGI/WHIFF based CGI script.
Good luck!
-- Aaron Watters
===
% man less
less is more.
More information about the Python-list
mailing list