[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
+()()()---------()()()--------------------+