Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2005, 07:05
apuenco
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 18 años, 5 meses
Puntos: 0
problema metiendo datos

buenas
mi problema es que tengo este script:
Código PHP:
<?php
//funcion que coje una cadena y la divide en elementos de un array cada vez que aparece una coma
function rompelinea($string)
{
$array=explode (",",$string);
return 
$array;
}
//funcion que me pasa del formato "aaaammddhhmmss" a "aaaa-mm-dd hh:mm:ss"
function fecyhora($texto)
{
$anio=substr($texto,0,4);
$mes=substr($texto,4,2);
$dia=substr($texto,6,2);
$hora=substr($texto,8,2);
$min=substr($texto,10,2);
$seg=substr($texto,12,2);
sscanf($texto"%4s%2s%2s%2s%2s%2s",$anio,$mes,$dia,$hora,$min,$seg);
$guion="-";
$espacio=" ";
$puntos=":";
$salida=$anio.$guion.$mes.$guion.$dia.$espacio.$hora.$puntos.$min.$puntos.$seg;
return 
$salida;
}

function 
metodatos($array)
{
$host"localhost";
$user="root";
$password="";
$nombreBD="proyecto";
$tabla="llamadas";
$link=mysql_connect($host$user$password);
mysql_select_db($nombreBD,$link);

$secuencia=$array[0];//directamente
$nllamado=numllam($array[1]);//se lo paso a funcion numllam
$duracion=$array[2];//directamente
$inillam=fecyhora($array[3]);//se lo paso a funcion fecyhora
$conllam=fecyhora($array[4]);//se lo paso a funcion fecyhora
$desllam=fecyhora($array[5]);//se lo paso a funcion fecyhora
$causa=causas($array[6]);////se lo paso a funcion causas
$iporigen=$array[7];
$ipdestino=$array[8];
$iptroncal=$array[9];
$tipollam=tipollamada($array[10]);
$tiponumllam=tiponumerollamada($array[11]);
$lineain=lineainout($array[12]);
$canalin=canalinout($array[13]);
$lineaout=lineainout($array[14]);
$canalout=canalinout($array[15]);
$switchtime=fecyhora($array[16]);
$switchdur=$array[17];
$eventos=$array[18];
$switchflag=flag($array[19]);

$busquedamysql_db_query($nombreBD,"SELECT * FROM $tabla WHERE n_desecuencia='$secuencia'");
if(
mysql_num_rows($busqueda)>0)
{
print(
"no");
return;
}
else{
print(
"si");
$query="INSERT into $tabla values ('','$secuencia','$nllamado','$duracion','$inillam','$conllam','$desllam','$causa','$iporigen','$ipdestino','$iptroncal','$tipollam','$tiponumllam','$lineain','$canalin','$lineaout','$canalout','$switchtime','$switchdur','$eventos','$switchflag')";
}
mysql_close($link);

}

$archivo=fopen("datos.txt","r");
$temp=fopen("editor.txt","r+");


while (!
feof($archivo))
{

$campos=array();//inicializo el array
$linea=fgets($archivo,2000);
fseek($temp0);
fwrite($temp,$linea);
fseek($temp0);
$info=fgets($temp,2000);
$campos=rompelinea($info);
$llamo=metodatos($campos);
print_r($campos);
print(
"<br>");
}

fclose($temp);
fclose($archivo);

?>
Las funciones a las que llamo en metodatos funcionan correctamente(comprobado).el problema es que escribe el "si" de metodatos pero no me mete los valores en la base de datos.
La base de datos tiene la siguiente estructura:
ID int(11) No auto_increment
n_desecuencia text
nllamado text
duracion int(11) 0
iniciollamada datetime
conexionllamada datetime
desconexionllamada datetime
causadesconexion text
iporigen text
ipdestino text
iptroncal text
tipollamada text
tipon_llamada text
lineaentrante text
canalentrante text
lineasaliente text
canalsaliente text
autoswitchtime datetime
a_s_duration int(11)
eventos text
a_s_flag text

¿Cual puede ser el problema?
gracias