[Pgsql-ayuda] fotos con Postgres

Antonio Castro acastro@ciberdroide.com
Wed, 7 May 2003 12:02:12 +0200 (CEST)


On Tue, 6 May 2003, Gunnar Wolf wrote:

>=20
> Bueno... Claro, para evitar el asunto de los ap=F3strofes, yo prefiero
> preparar e insertar en dos pasos separados - Uso Perl... Prefiero hacer:
>=20
> $sth =3D $dbh->prepare('INSERT INTO tabla (val1, val2, val3) VALUES (?, ?=
, ?)');
> $sth->execute($var1, $var2, $var3);
>=20
> a hacer
>=20
> $dbh->do("INSERT INTO tabla (val1, val2, val3) VALUES ('$var1','$var2','$=
var3')");
>=20
> Es m=E1s c=F3digo, pero resulta m=E1s limpio. Pero bueno, s=ED, el asunto=
 de la
> codificaci=F3n, los \0 y dem=E1s pueden resultar inc=F3modos.
>=20
> Saludos,

Yo para generar clausulas INSERT correctas he observado que tengo
que escapar las comillas simples usando dos comillas simples seguidas
y los caractres slash como dos caracteres slash seguidos. Es decir:

 "'" -> "''"=20
 "\" -> "\\"
=20
 Esto lo hago usando C y libpq para generar correctamente cualquier
 clausula inser.

 Pero lo del slash me hace suponer que otros caracteres si puedan incluirse
 precedidos de del caracter "\" para escaparlos.=20

 Desde psql una pruebecita parece indicar que es posible que eso es as=ED:=
=20
=20
 select '\=FF\=E8\=E4';

=20
--=20
Un saludo
Antonio Castro

       /\     /\   Ciberdroide Inform=E1tica=20
         \\W//  << http://www.ciberdroide.com >>
        _|0 0|_                                                   =20
+-oOOO-(___o___)-OOOo---------------------+=20
| . . . . U U . Antonio Castro Snurmacher | =20
| . . . . . . . acastro@ciberdroide.com   |=20
+()()()---------()()()--------------------+