Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2018, 14:51
Juan228
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 9 meses
Puntos: 0
Problemas con INSERT desde PHP

Buenas Tardes! Les comento mi problema:

Yo tengo un archivo csv con cierta cantidad de datos, lo que hago es abrir dicho archivo y modificar unos campos que estan mal cargados (Telefonos con espacios, guiones, etc..) y luego los tengo que cargar en mi base de datos de postgress:


Código PHP:
#!/usr/bin/php
<?php
// Me conecto al pgsql
$conectarse pg_connect(******);

// Reviso si la conexion fue exitosa sino devuelvo un error
if (!$conectarse) {die("Error de Conexion!: " pg_last_error());}


// --- FUNCIONES --- ///

// Reemplaza los guiones bajo por espacios.
function sacar_guiones($var){
$reemplazo=str_replace("_"" "$var);
return 
$reemplazo;
}

// Toma todo el string y solo deja los numeros y en caso de que no devuelva nada (devuelve 0 si no hay numeros) lo reemplaza por nada.
function telefono($numero) {
    
$r intval(preg_replace('/[^0-9]+/'''$numero), 10);
    if(
$r == 0){$r "";}
return 
$r;
}

// --- FIN FUNCIONES --- ///



// --- PROGRAMA PRINCIPAL --- ///


// Ignora las advertencias de PHP
error_reporting(0);

// Abro el archivo CSV en modo lectura
$file fopen('datos-ejemplo.csv''r');

// Creo una bandera que utilizo para ignorar la primer vuelta asi no me guarda los cabezales
$band 0;


// Recorro el archivo
while (($line fgetcsv($file)) !== FALSE) {
    
    
// Consulto si es el primer ingreso, para evitar leer las cabeceras, si lo es cambio la bandera a 1    
    
if($band != )
        {

            
// Almaceno los datos recolectados
            
$RAZON=$line[14];    
            
$LOCALIDAD=$line[16];    
            
$EMAIL=$line[15];    
            
$FECHADEREGISTRO=$line[1];
            
$TELEFONO1=telefono($line[12]);
            
$TELEFONO2=telefono($line[13]);
    
            
// Genero la consulta SQL
            
$query "INSERT INTO tabla_datos (razon) VALUES ('" .$RAZON"')";
    
            
// Ejecuto la consulta
            
$result pg_query_params($conectarse$query);

            
// Verifico si la consulta se llevo a cabo correctamente, sino aviso
            
if (!$result) die("\nError in SQL query: " pg_last_error() . "\n");
        }
    else
        
$band 1;

    
// fin del if    

// end-while


// Cierro el archivo
fclose($file);


// Termino la conexion
pg_close($conectarse);
?>
La conexion se hace correctamente, pero a la hora de hacer un insert me da el siguiente error: "Error in SQL query:" es decir, el mensaje de error que tengo por si falla la query pero no me da informacion de porque falla

Alguien sabe que puede ser lo que este fallando? estuve todo el dia tratando de hacerlo andar y no pude =(

Gracias!