私はこのようにいくつかの変数を取得するPHPファイル作成しようとしています:http://plugins.smart-coast.com/reporte_rips.php?q=2016-11-01 * - 2016年11月30日から - * ABC-001エラーのPostgreSQL
PHPファイルを次の(セキュリティのために、私はサーバ接続を避ける)である:
<?php
if(!isset($_GET['q'])){
//echo "no se ha recibido nada";
die();
}
$datos = explode('*-*',$_GET['q']);
$fecha = explode ("-", $datos[0]);
$fecha_inicio = $fecha[2].'/'.$fecha[1].'/'.$fecha[0];
$fecha = explode ("-", $datos[1]);
$fecha_fin = $fecha[2].'/'.$fecha[1].'/'.$fecha[0];
$fecha_inicio1 = $datos[0];
$fecha_fin1 = $datos[1];
$cod_empresa = $datos[2];
$no_contrato = $datos[3];
$contador_AF = 0;
$contador_US = 0;
$contador_AC = 0;
$contador_AP = 0;
$contador_AU = 0;
$contador_AH = 0;
$contador_AM = 0;
$contador_AT = 0;
//Archivo AF____________________________________________________________________________________________________________________________
$query = "Copy (SELECT '524730152501','E.S.E. CENTRO DE SALUD SAN FRANCISCO','NI,900167616-9',a.no_factura,to_char(a.fecha,'dd/mm/yyyy'),'$fecha_inicio','$fecha_fin',b.codigo_entrada,b.nombre,'$no_contrato','','','','','',a.valor_total from hlt_factura a left join hlt_empresa b on a.cod_empresa=b.cod_empresa where a.estado = 'f' AND a.cod_empresa = '$cod_empresa' AND a.cod_facturacion = '2' AND cast(a.fecha as date) BETWEEN cast($fecha_inicio1 as date) AND cast($fecha_fin1 as date)) To '/var/lib/postgresql/AF524730152501.txt' With CSV DELIMITER ',';";
$result = pg_query($db_connection, $query);
//Archivo CT
$query = "SELECT count(*) as cantidad from hlt_factura a left join hlt_empresa b on a.cod_empresa=b.cod_empresa where a.estado = 'f' AND a.cod_empresa = '$cod_empresa' AND a.cod_facturacion = '2' AND cast(a.fecha as date) BETWEEN cast($fecha_inicio1 as date) AND cast($fecha_fin1 as date);";
$result = pg_query($db_connection, $query);
while($r = pg_fetch_array($result)) {
$contador_AF = $r['cantidad'];
}
$fecha_hoy = date("d/m/Y");
$salida = shell_exec('rm CT524730152501.txt');
$archivo = fopen('CT524730152501.txt',"a");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AC524730152501,'.$contador_AC. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AP524730152501,'.$contador_AP. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AH524730152501,'.$contador_AH. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AU524730152501,'.$contador_AU. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AM524730152501,'.$contador_AM. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AT524730152501,'.$contador_AT. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',AF524730152501,'.$contador_AF. "\n");
fwrite($archivo,'524270069601,'.$fecha_hoy.',US524730152501,'.$contador_US. "\n");
fclose($archivo);
//Se cambia los archivos de direccion
$salida = shell_exec('cp /var/lib/postgresql/AC524730152501.txt /var/www/html/pmplugins/workflow/public_html/');
//Se crea el archivo .zip y se adjuntan los archivos de rips
$zip = new ZipArchive;
$zip->open("Rips524730152501.zip",ZipArchive::CREATE);
$zip->addFile("AF524730152501.txt");
?>
しかし、私はこのエラーを取得する:
Warning: pg_query(): Query failed: ERROR: cannot cast type integer to date LINE 1: ...ast(to_char(2016-11-01,'yyyy-mm-dd') as date) AND cast(2016-...^in /var/www/html/pmplugins/workflow/public_html/reporte_rips.php on line 44
今日、私が学んだ新しいヒント、あなたの助けをありがとう。 –