Python y MySQL desde PHP

Estaba reconvirtiendo un programita hecho en PHP a Python.
Estaba acostumbrado a hacer:

function datos($tabla,$campo,$clave){
$sql_det = 'SELECT * FROM '.$tabla.' WHERE '.$campo.'="'.$clave.'"';
$res_det = mysql_query($sql_det);
return mysql_fetch_array($res_det);

Sin embargo, al intentar hacer lo mismo en Python

def consulta(sql):
db = MySQLdb.connect(host="localhost",user="xxxl",passwd="xxx",db="xxxx")
cur = db.cursor(MySQLdb.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchall()
return res

Me devuelve un array que requere de un índice entero para referirse a él. Yo estaba acostumbrado a referirme a los campos por su nombre.
Buscando por ahí, encontré la solución que espero sea útil para quien tenga similares problemas:

def consulta(sql):
db = MySQLdb.connect(host="localhost",user="xxxl",passwd="xxx",db="xxx")
cur = db.cursor(MySQLdb.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchall()
return res

El original fue encontrado en “Will code for food“.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s