[pyar] INSERTAR UNA IMAGEN EN UNA BASE DE DATOS MYSQL

Gabriel Davini gabrielfranciscodavini en gmail.com
Lun Feb 29 10:52:35 ART 2016


2016-02-28 21:34 GMT-03:00 Gerardo Rios <gsr.5392.tec en gmail.com>:

>
> Wrong number of arguments during string formatting
>
> QUE SI LO TRADUZCO ME DICE: Número incorrecto de argumentos en el formato
> de cadenas
>
> PARA MI QUE EL ERROR ESTA EN EL TIPO DE DATOS DE LA IMAGEN, YO LO PUSE
> COMO LONGBLOB Y CREO QUE TIENE QUE SER BLOB SOLAMENTE, VOY A VER QUE ME DA.
>

No, no tiene que ver con el tipo de dato de la columna


>   #se carga los datos en la base de datos
>>   sql = """INSERT INTO IMAGENES (imagen,tipo) VALUES (% s,% s)""" ,
>> (datos, formato)
>>
>
Lo que pasa es que aca estás creando una tupla, mirá:

>>> datos = "foo"
>>> formato = "bar"
>>> sql = """INSERT INTO IMAGENES (imagen,tipo) VALUES (% s,% s)""" ,
(datos, formato)  # aca deberías reemplazar la , por %
>>> print sql
('INSERT INTO IMAGENES (imagen,tipo) VALUES (% s,% s)', ('foo', 'bar'))
>>> print type(sql)
<type 'tuple'>

Lo que tendrías que hacer es:

>>> sql = """INSERT INTO IMAGENES (imagen,tipo) VALUES (% s,% s)""" %
(datos, formato)
>>> print sql
INSERT INTO IMAGENES (imagen,tipo) VALUES (foo,bar)
>>> print type(sql)
<type 'str'>

Saludos
-- 
Gabriel.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160229/cbd510b6/attachment.html>


Más información sobre la lista de distribución pyar