Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] error Truncated incorrect DOUBLE value: 'MARIO'

Estas en el tema de error Truncated incorrect DOUBLE value: 'MARIO' en el foro de PHP en Foros del Web. estoy intentando incertar datos de una tabla en otra tabla, las tablas son: activo= de donde salen los datos inconsistencias_1= donde incerto los datos. este ...
  #1 (permalink)  
Antiguo 03/09/2013, 10:26
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
error Truncated incorrect DOUBLE value: 'MARIO'

estoy intentando incertar datos de una tabla en otra tabla, las tablas son:
activo= de donde salen los datos
inconsistencias_1= donde incerto los datos.

este es el codigo
<?php
if (!isset($_SESSION)) {
session_start();
}
$VarNumeroInc =$_SESSION["VarNumInc"];
$NumEmpleado=$_SESSION['VarFun'];

mysql_select_db($database_conexionsara, $conexionsara);
$query_Consulta_Incon2 = "INSERT INTO inconsistencias_1 (DIRECCION, DEPARTAMENTO, SECCION, CUENTA, DIVISION, SUBDIVISION, ESPECIFICACION, SUBESPECIFICACION, FUNCIONARIOACARGO, SECUENCIA, NUM_INCONSISTENCIA, DESCRIPCION, STATUS) SELECT DIRECCION, DEPARTAMENTO, SECCION, CUENTA, DIVISION, SUBDIVISION, ESPECIFICACION, SUBESPECIFICACION, FUNCIONARIOACARGO, SECUENCIA, NUM_INCONSISTENCIA, DESCRIPCION, STATUS FROM activos WHERE FUNCIONARIOACARGO =$NumEmpleado";
$Consulta_Incon2 = mysql_query($query_Consulta_Incon2, $conexionsara) or die(mysql_error());
?>
pero me sale este error
Truncated incorrect DOUBLE value: 'MARIO'

la variable $VarNumeroInc contiene un numero de incosistencia
la variable $NumEmpleado contiene un numero de empleado

el valor 'MARIO' en el error no se de donde sale ese es mi nombre pero no tiene nada que ver con el empleado que se esta ventilando en ese momento.

que esta mal??
gracias por la ayuda..
  #2 (permalink)  
Antiguo 03/09/2013, 10:33
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: error Truncated incorrect DOUBLE value: 'MARIO'

Primero aprende a usar el Highlight del foro para postear código, segundo verifica que tanto en la tabla inconsistencias_1 como activos los tipos de cada campo sean iguales.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 03/09/2013, 11:19
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: error Truncated incorrect DOUBLE value: 'MARIO'

gracias por contestar..
no se que es el Highlight del foro
he verificado todo los campos que intervienen en el query en ambas tablas y todos son iguales en tipo y tamaño
es mas esta consulta la realiso primero que la que me da el error :

mysql_select_db($database_conexionsara, $conexionsara);
$query_Consulta_Incon1 = "INSERT INTO inconsistencias_3 (DIRECCION, DEPARTAMENTO, SECCION, CUENTA, DIVISION, SUBDIVISION, ESPECIFICACION, SUBESPECIFICACION, FUNCIONARIOACARGO, SECUENCIA, NUM_INCONSISTENCIA, DESCRIPCION, STATUS) SELECT DIRECCION, DEPARTAMENTO, SECCION, CUENTA, DIVISION, SUBDIVISION, ESPECIFICACION, SUBESPECIFICACION, FUNCIONARIOACARGO, SECUENCIA, NUM_INCONSISTENCIA, DESCRIPCION, STATUS FROM inconsistencias_2 WHERE NUM_INCONSISTENCIA = $VarNumeroInc AND FUNCIONARIOACARGO !=$NumEmpleado ";
$Consulta_Incon1 = mysql_query($query_Consulta_Incon1, $conexionsara) or die(mysql_error());
y esta trabaja perfecta y como ves usa los mismo campos seguido a esta va la que me da el error.

gracias por la ayuda
me disculpo por los errores de noob que cometa es que en realidad estoy empesando a usar el foro auque me alla registrado hace mucho tiempo
  #4 (permalink)  
Antiguo 03/09/2013, 11:54
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: error Truncated incorrect DOUBLE value: 'MARIO'

llevo 2 dias batallando con este problema y nada por eso decidi postearlo aca..pero no deje de seguir intentando resolverlos.
entre los intentos me di cuenta que mi problema estaba en la sentencia WHERE y buscando encontre que alguien decia esto:
"PHP no requiere que indiquemos el tipo que va a contener una variable, sino que lo deduce del valor que asignemos a la variable. Asimismo, se encarga de actualizar automáticamente el tipo de la variable cada vez que le asignamos un nuevo valor. "
y vuala! aqui estaba el problema
$NumEmpleado=$_SESSION['VarFun'];
aunque en la tabla el campo FUNCIONARIOACARGO es un varchar y el valor de $_SESSION['VarFun'] proviene de un varchar era un numero que dependiendo del empleado podira se 075 por ejemplo que seria tomado como un text por el cero por delate, o podria ser 144 que seria tomado como un numero entero lo que setearia a $NumEmpleado como un integer y al comparar con el operador = estabamos preguntando por dos tipos de valores distintos.
solucion:
cambie la clausula WHERE anterior por esta :
WHERE FUNCIONARIOACARGO LIKE $NumEmpleado";
use LIKE resuelto ahora no lo ve como un numero sino como un text,
"MAÑA DE MAGAÑA" jajajaj.

Etiquetas: double, mysql, select, sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:04.