[pgsql-ayuda] =?iso-8859-1?Q?=BFAlguien_puede_explicarme_esto=3F?=

Carlos Villagra Fernandez carlosv@maptel.es
Tue, 16 Feb 1999 00:06:25 +0100 (CET)


Hola a todos. 

Estoy programando una base de datos con acceso a través de Web, con cgi's
en perl. Tengo todo bien configurado, pero hay un script que me está
toreando malamente. 

Si pongo:

                                                                                
# Conexión a la base de datos                                                   
                                                                                
use Pg;                                                                         
                                                                                
$pghost = 'alderaan';                                                           
$dbname = 'daetsam';                                                            
                                                                                
$conn = PQsetdb($pghost, $pgport, $pgoptions, $pgtty, $dbname);                 
                                                                                
$result = PQexec ($conn,                                                        
                          "insert into dat_pers                                 
                          values (                                              
                                '$nombre',                                      
                                '$apellido1',                                   
                                '$apellido2',    

....bla, bla, bla.... mas campos...

                                                                                
                        );                                                      
                                                                                
                                                                                
                ");    

el cgi funciona perfectamente, añadiendo los registros en la tabla. Pero
si en vez de eso, pongo código para insertar datos en otras tablas, es
decir:

# Conexión a la base de datos

use Pg;

$pghost = 'alderaan';
$dbname = 'daetsam';

$conn = PQsetdb($pghost, $pgport, $pgoptions, $pgtty, $dbname);

$result = PQexec ($conn,
                          "insert into dat_pers
                          values (
                                '$nombre',
                                '$apellido1',
                                '$apellido2',

....bla, bla, bla.... mas campos...

                                                                                
                        );                                                      

                        insert into habla_idioma                                
                            select dat_pers.oid,idiomas.oid,'$idio1nivel'       
                            from dat_pers,idiomas                               
                            where dat_pers.dni='$dni' and 
idiomas.idioma='$idio1'
                            ;                                                   
                                                                                
                "); 

entonces no introduce datos en ninguna de las dos tablas, pero tampoco da
ningún error. 

Es más, si separo las dos sentencias insert en dos conexiones distintas
(cerrando tras la primera y volviendo a establecer la conexión), sólo
actualiza la primera tabla.

La sintaxis del segundo insert es correcta, ya que si lo ejecuto "a mano"
desde el interfaz de postgres funciona perfectamente. se entiende que en
este caso sustiluyo las variables por valores concretos, pero esto también
lo he probado desde el cgi y tampoco funciona.

Los permisos (grant) sobre todas las tablas, son correctos.

¿alguna sugerencia?

Un Saludo

CarlosV

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion pgsql-ayuda