Excerpts from Alfredo Zea García Calderón's message of vie may 14 01:48:59 
-0400 2010:

> *$file = "C:\Users\Alfredo\Desktop\imagen.jpg";*
> 
> *$data = file_get_contents($file);
> 
> $escaped = pg_escape_bytea($data);*
> **
> *$t='"';*
> *$cod = "0";*
> **
> *$consulta = "UPDATE preguntas SET ".$t."bArchiv".$t."=E'$escaped'::bytea
> WHERE ".$t."cCodPre".$t."='$cod'";*

Es bastante horrible esto.  Es más fácil escapar las comillas dobles
así:

$consulta = "UPDATE preguntas SET \"bArchiv\"=E'$escaped'::bytea WHERE 
\"cCodPre\"='$cod'";

Me imagino que nunca has oído hablar de "inyección de SQL", ¿cierto?  Te
recomiendo que estudies qué significa.  Te aconsejo usar algo como esto:

$result = pg_prepare($conexion_bd, "update_del_bytea",
"UPDATE preguntas SET \"bArchiv\" = $1 WHERE \"cCodPre\" = $2");
$result = pg_execute($conexion_bd, "update_del_bytea",
        array(file_get_contents($file), $cod));

-- 
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a