As a newbie developer, the easiest way for me to connect to MySQL is to > just copy & paste the connection commands into each funtion I write. > However, I know that's far from ideal, and consumes more time than its > worth. I would like to create a MySQL connection function that I can just > call up whenever I need it from within an other function.
I like to use the following style of code. Since there will be passwords, the connection strings should be somewhat protected. Put them in a separate file that can be controlled. Here's my sample code. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #! /usr/bin/python # sqlconnect.py import MySQLdb as SQLdb db_parms = { 'regular': { 'host': 'localhost', 'user':'regular_user', 'passwd':'password', 'db':'some_database', }, 'premium': { 'host':'localhost', 'user':'premium_user', 'passwd':'password', 'db': 'SGSG02', }, "super": { 'host': 'localhost', 'unix_socket': '/var/lib/superdb/mysql.sock', 'user':'super_user', 'passwd':'password', 'db':'some_database', }, } def connect( parm_name): parms = db_parms[parm_name] return SQLdb.connect( **parms) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Use a dictionary to save the connect parameters. Different users and circumstances can require different parameters. To use this code import sqlconnect as sql conn = sql.connect('regular') # then get a cursor so that you can do something to the database curs = conn.Cursor() curs.execute(Some_SQL_Command) results = curs.fetchall() curs.close() Your example code seems to view getting a connection and a cursor as closely related. Typically, a connection is kept for the life of the application process and cursors are created, used, and closed as needed. -- Lloyd Kvam Venix Corp _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor