Foros del Web » Programando para Internet » PHP »

no veo el error mysql q me regresa...

Estas en el tema de no veo el error mysql q me regresa... en el foro de PHP en Foros del Web. Hola salu2 tengo un error en la pagina q procesa un formulario me avienta este error; INSERT INTO especificaciones (especificacion, descripcion, tipo, r_progress, r_hd, recepcion, ...
  #1 (permalink)  
Antiguo 21/12/2007, 12:04
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
no veo el error mysql q me regresa...

Hola salu2 tengo un error en la pagina q procesa un formulario me avienta este error;

INSERT INTO especificaciones (especificacion, descripcion, tipo, r_progress, r_hd, recepcion, envio, revision1, envio_revision1, rec_adec, envio_adec, estimado, real) VALUES ('12345', '7', '7', '3', '1', 2000-01-01, 2000-01-01, 2000-01-01, 2000-01-01, 2000-01-01, 2000-01-01, '8', '9')
Ha habido un error al insertar los valores. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'real) VALUES ('12345', '7', '7', '3', '1', 2000-01-01, 2000-01-01, 2000-01-01, 2' at line 1.

la cosa es q segun yo todo esta bien, les dejo a continuacion el codigo donde hago la insercion:
Código:
<?php
$submitted_recep=$_POST["anyorecep"]."-".$_POST["mesrecep"]."-".$_POST["diarecep"];
$submitted_envio=$_POST["anyoenvio"]."-".$_POST["mesenvio"]."-".$_POST["diaenvio"];
$submitted_1rev=$_POST["anyo1rev"]."-".$_POST["mes1rev"]."-".$_POST["dia1rev"];
$submitted_revenvio=$_POST["anyo_1revenvio"]."-".$_POST["mes_1revenvio"]."-".$_POST["dia_1revenvio"];
$submitted_recepadec=$_POST["anyorecepadec"]."-".$_POST["mesrecepadec"]."-".$_POST["diarecepadec"];
$submitted_envioadec=$_POST["anyoenvioadec"]."-".$_POST["mesenvioadec"]."-".$_POST["diaenvioadec"];
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Especificar Procesado</title>
</head>

<body>

<?php

	if ($_POST['especificacion']) {
	
		include("conexion.php");
	
		// Hacemos la comparacion MySql
		$consultar_coincidencia="SELECT * FROM especificaciones WHERE especificacion='".$_POST['especificacion']."'";
		$consultando_coincidencia=mysql_query($consultar_coincidencia);
		echo mysql_error();

		if(mysql_num_rows($consultando_coincidencia)==0) {

				// Con esta sentencia insertamos en la base de datos
				$insertar="INSERT INTO especificaciones (especificacion, descripcion, tipo, r_progress, r_hd, recepcion, envio, revision1, envio_revision1, rec_adec, envio_adec, estimado, real) VALUES ('".$_POST['especificacion']."', '".$_POST['descripcion']."', '".$_POST['tipo']."', '".$_POST['r_progress']."', '".$_POST['r_hd']."', $submitted_recep, $submitted_envio, $submitted_1rev, $submitted_envioadec, $submitted_revenvio, $submitted_recepadec, '".$_POST['estimado']."', '".$_POST['real']."')";
echo $insertar;
echo " <br>";
				mysql_query($insertar);

				// Ahora comprobaremos que todo ha ido correctamente
				$my_error = mysql_error();

				if(my_error) {
					echo "Ha habido un error al insertar los valores. $my_error";
				} else {
					?>
					<html>
					<head>
					<meta http-equiv="Refresh" content="3;URL=esp_captura.php">
					</head><body>
					Se guardó el registro satisfactoriamente</body></html><?
					} 
} else { 
echo "Campo duplicado, favor de regresar para corregirlo";
}
} else {

	echo "Error, no ha introducido especificacion";
}
?>
</body>
</html>
alguien puede ayudarme?
  #2 (permalink)  
Antiguo 21/12/2007, 12:24
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: no veo el error mysql q me regresa...

mm trata poniendo las fechas entre comillas simples (') .....

Saludillos.,
  #3 (permalink)  
Antiguo 21/12/2007, 12:35
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no veo el error mysql q me regresa...

gracias, ya lo hice pero nada sigue apareciendo el mismo error. salu2
  #4 (permalink)  
Antiguo 21/12/2007, 12:52
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: no veo el error mysql q me regresa...

Pues mira asi a siemple vista pues colocale a las variables comillas sencillas '$submitted_recep' y proba y luego posteas.. por que cuando escribis con ECHO no las necesitas pero cuando lo haces con sql si.. proba y me cuentas.. ademas por que no guardas las variables que envias en variables normales para que el SQL no tenga tantos caracteres de concatenacion ya que puede que ahi este el error y costara localizarlo prueba guardar las variables de POST en variables normales...

Prueba y me cuentas..!


Salu2..

Última edición por agressor; 21/12/2007 a las 12:55 Razón: Hacia falta
  #5 (permalink)  
Antiguo 21/12/2007, 12:57
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: no veo el error mysql q me regresa...

Y revisa esta variable que el error segun veo es en estas variable..

$submitted_envioadec
  #6 (permalink)  
Antiguo 21/12/2007, 13:34
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no veo el error mysql q me regresa...

mmmmmm, ya hice lo q me dijiste y de todos modos me sigue marcando error... codigo codificado;
Código:
<?php 
$submitted_recep=$_POST["anyorecep"]."-".$_POST["mesrecep"]."-".$_POST["diarecep"];
$submitted_envio=$_POST["anyoenvio"]."-".$_POST["mesenvio"]."-".$_POST["diaenvio"];
$revision=$_POST["anyorev"]."-".$_POST["mesrev"]."-".$_POST["diarev"];
$submitted_revenvio=$_POST["anyo_1revenvio"]."-".$_POST["mes_1revenvio"]."-".$_POST["dia_1revenvio"];
$submitted_recepadec=$_POST["anyorecepadec"]."-".$_POST["mesrecepadec"]."-".$_POST["diarecepadec"];
$submitted_envioadec=$_POST["anyoenvioadec"]."-".$_POST["mesenvioadec"]."-".$_POST["diaenvioadec"];
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Especificar Procesado</title>
</head>

<body>

<?php

	if ($_POST['especificacion']) {
	
		include("conexion.php");
	
		// Hacemos la comparacion MySql
		$consultar_coincidencia="SELECT * FROM especificaciones WHERE especificacion='".$_POST['especificacion']."'";
		$consultando_coincidencia=mysql_query($consultar_coincidencia);
		echo mysql_error();

		if(mysql_num_rows($consultando_coincidencia)==0) {
			$var_especificacion=$_POST['especificacion'];
			$var_descripcion=$_POST['descripcion'];
			$var_tipo=$_POST['tipo'];
			$var_r_progress=$_POST['r_progress'];
			$var_r_hd=$_POST['r_hd'];
			$var_estimado=$_POST['estimado'];
			$var_real=$_POST['real'];
				// Con esta sentencia insertamos en la base de datos
				$insertar="INSERT INTO especificaciones (especificacion, descripcion, tipo, r_progress, r_hd, recepcion, envio, revision1, envio_revision_1, rec_adec, envio_adec, estimado, real) VALUES ('$var_especificacion', '$var_descripcion', '$var_tipo', '$var_r_progress', '$var_r_hd', '$submitted_recep', '$submitted_envio', '$revision', '$submitted_revenvio', '$submitted_recepadec', '$submitted_envioadec', '$var_estimado', '$var_real')";
echo $insertar;
echo " <br>";
				mysql_query($insertar);

				// Ahora comprobaremos que todo ha ido correctamente
				$my_error = mysql_error();

				if(my_error) {
					echo "Ha habido un error al insertar los valores. $my_error";
				} else {
					?>
					<html>
					<head>
					<meta http-equiv="Refresh" content="3;URL=esp_captura.php">
					</head><body>
					Se guardó el registro satisfactoriamente</body></html><?
					} 
} else { 
echo "Número guía duplicado, favor de regresar para corregirlo";
}
} else {

	echo "Error, no ha introducido especificacion";
}
?>
</body>
</html>
este es el error q ahora me manda...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'real) VALUES ('12345', '7', '7', '3', '1', '2001-12-04', '2003-06-08', '2000-01-' at line 1

ahora q hago?? le he movido todo lo q tengo q habilidad.
  #7 (permalink)  
Antiguo 21/12/2007, 13:45
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: no veo el error mysql q me regresa...

mm pues mira me parece mas que todo error de dedo haz esto realiza la insercion campo por campo y veras.. asi encontraras tu error te lo recomiendo asi sabes que ingresas y como lo ingresas lamento no descubrirte el error solo te puedo dar esa solucion ya que no puedo probar al 100 tus campos con los de tu tabla..

Haz lo que te digo haz la insercion campos por campo..

Prueba y me cuentas..

Salu2..!
  #8 (permalink)  
Antiguo 21/12/2007, 15:51
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no veo el error mysql q me regresa...

ya me quedo; ahi se los dejo para los q seguian el tema... en si era un #$^%#$ error de dedo realmente...

Código:
<?php 
$submitted_recep=$_POST["anyorecep"]."-".$_POST["mesrecep"]."-".$_POST["diarecep"];
$submitted_envio=$_POST["anyoenvio"]."-".$_POST["mesenvio"]."-".$_POST["diaenvio"];
$revision=$_POST["anyorev"]."-".$_POST["mesrev"]."-".$_POST["diarev"];
$submitted_revenvio=$_POST["anyo_1revenvio"]."-".$_POST["mes_1revenvio"]."-".$_POST["dia_1revenvio"];
$submitted_recepadec=$_POST["anyorecepadec"]."-".$_POST["mesrecepadec"]."-".$_POST["diarecepadec"];
$submitted_envioadec=$_POST["anyoenvioadec"]."-".$_POST["mesenvioadec"]."-".$_POST["diaenvioadec"];
$var_especificacion=$_POST['especificacion'];
$var_descripcion=$_POST['descripcion'];
$var_tipo=$_POST['tipo'];
$var_r_progress=$_POST['r_progress'];
$var_r_hd=$_POST['r_hd'];
$var_estimado=$_POST['estimado'];
$var_demora_real=$_POST['demora_real'];

	if ($_POST['especificacion']) {

	include ("conexion.php");

	$consultar_coincidencia="SELECT * FROM especificaciones WHERE especificacion='$var_especificacion'";
	$consultando_coincidencia=mysql_query($consultar_coincidencia);
	echo mysql_error();

		if(mysql_num_rows($consultando_coincidencia)==0) {

			//Con esta sentencia SQL insertaremos los datos en la base de datos
			$insertar="INSERT INTO especificaciones (especificacion, descripcion, tipo, r_progress, r_hd, recepcion, envio, revision1,	 envio_revision_1, rec_adec, envio_adec, estimado, demora_real) VALUES ('$var_especificacion', '$var_descripcion', '$var_tipo', '$var_r_progress', '$var_r_hd', '$submitted_recep', '$submitted_envio', '$revision', '$submitted_revenvio', '$submitted_recepadec', '$submitted_envioadec', '$var_estimado', '$var_demora_real')";
			mysql_query($insertar);

			//ahora comprobaremos que todo ha ido correctamente
			$my_error = mysql_error();

			if($my_error) {
				echo "Ha habido un error al insertar los valores. $my_error";
			} else {
					?>
					<html>
					<head>
					<meta http-equiv="Refresh" content="3;URL=esp_captura.php">
					</head><body>
					<b>El registro se ha guardado satisfactoriamente<b></body></html><? 
			}
 
		} else { 
				echo "Número de especificacion existente, favor de regresar para corregirlo";
		}

	} else {
			echo "Error, no se ha introducido una especificacion";
	}
?>
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 06:22.