Tengo un campo en una tabla tipo timestamp y necesito insertar unos valores provenientes en un archivo csv utilizando php.
El problema es el siguiente en el archivo csv tengo dos campos: 1) con fecha formato DD/MM/AAAA y 2) tipo hora hh:mm:ss.
he tratado de concatenar estos dos campos y utilizando luego mktime o strtotime y el valor que obtengo lo hago insert en la tabla de oracle, pero no hace el insert y de hecho, da error.
Si alguien me puede ayudar lo agradecería.
Aqui coloco el codigo para ver si alguien me puede ayudar:
Código PHP:
include('../intelmil_ORA/config.php'); // Hace la conexion
$url = "../mens_rbb.csv";
$i=1;$yes=0;$ins='';
$file = fopen($url, 'r');
if($file){
while(!feof($file)) {
$url_content = fgets($file, 4096);
$val = explode(';',$url_content);
$str = $val[1]." ".$val[2];
$fecha = convert_datetime($str);
$tim = $val[1]." ".$val[2];
echo $tim."<br>";
$OCI8_CH = oci_parse($OCI8, "update MYTAB set CIUDAD = :ciudad_b, H_EMI = H_b WHERE ID_MENS = :id_b ");
$val=227;
$city="Caracas";
oci_bind_by_name($OCI8_CH, ":id_b", $val);
oci_bind_by_name($OCI8_CH, ":ciudad_b", $city);
oci_bind_by_name($OCI8_CH, ":H_b", $tim);
$rc=oci_execute($OCI8_CH);
if (!$rc) {
//$m = oci_error();
$e = oci_error($s); // Statement resource passed
echo "cod = ".$e["code"] . "<br>";
echo "mens = ".$e["message"] . "<br>";
echo "off = ".$e["offset"] . "<br>";
echo "sql = ".$e["sqletext"] . "<br>";
echo "<pre>";var_dump($e);echo "</pre>";
} else {echo "executa bien<br>";}
// Para consultar
$sel = "select * from MYTAB where ID_MENS = 227";
$select = oci_parse($OCI8,$sel);
oci_execute($select);
$row = oci_fetch_array($select, OCI_ASSOC);
echo "<pre>";print_r($row);echo "</pre>";
}
}
function convert_datetime($str) {
list($date, $time) = explode(' ', $str);
list($year, $month, $day) = explode('/', $date);
list($hour, $minute, $second) = explode(':', $time);
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
return $timestamp;
}
?>