SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: Gaviotica en Martes 15 de Marzo de 2005, 21:24

Título: Necesito Ayuda Con Un Insert
Publicado por: Gaviotica en Martes 15 de Marzo de 2005, 21:24
Buenas mi pregunta es la siguiente:
Tengo dos tablas una llamada investigador que tiene los sig campos: id(key) Cedula apellido nombre mail pais estado direccion area codigo1
y una llamada proyectos que tiene id_proyecto(key) proyecto, proyecto_futuro ,area_proyecto y id

Mi problema se esta presentando porque no logro incluir el valor del id de investigador en proyectos, todo lo demas se me incluye, este es mi codigo:
Primero viene una pag que se llama formulario.
Este es el codigo de la pagina que procesa la info obtenida y la guarda en la base de datos

<?php
$Nombre=$_POST["Nombre"];
$Apellido=$_POST["Apellido"];
$Cedula=$_POST["Cedula"];
$Mail=$_POST["Mail"];
$Pais=$_POST["Pais"];
$Estado=$_POST["Estado"];
$Direccion=$_POST["Direccion"];
$Area=$_POST["Area"];
$Temario=$_POST["Temario"];
$proyecto=$_POST["proyecto"];
$proyecto_futuro=$_POST["proyecto_futuro"];
$area_proyecto=$_POST["area_proyecto"];

$id=$_GET["id"]; //(No se si debo hacerle un POST o un GET , yo creo que es un GET)

//Le hago un echo para ver los datos
echo "Nombre: $Nombre<br>";
echo "Apellido: $Apellido<br>";
echo "Cedula: $Cedula<br>";
echo "Mail: $Mail<br>";
echo "Pais: $Pais<br>";
echo "Estado: $Estado<br>";
echo "Direccion: $Direccion<br>";
echo "Area: $Area<br>";
echo "Temario: $Temario<br>";
echo "Proyecto: $proyecto<br>";
echo "Proyectos Futuros: $proyecto_futuro<br>";
echo "Area: $area_proyecto<br>";

Me conecto a la base de datos
if (!($enlace=mysql_connect("localhost","root","")))
die ("Fallo la conexion con el servidor");
mysql_select_db("prueba",$enlace);


$sentencia = "insert into investigador values ('$id','$Cedula','$Apellido','$Nombre','$Mail','$Pais','$Estado','$Direccion','$Area','$Temario')";

$sentencia1= "insert into proyectos values ('$id_proyecto','$proyecto','$proyecto_futuro','$area_proyecto','$id')";

//El valor de $id en la tabla proyectos no se me esta guardando.

mysql_query($sentencia,$enlace);
mysql_query($sentencia1,$enlace);

echo "<CENTER><B>Los datos fueron agregados exitosamente!!!!!</B></CENTER>";
mysql_close ($enlace);

?>

Porfa podrian ayudarme porque la verdad estoy un poquito trancada en esto.
¿Como guardo el valor del $id de la tabla investigadores en proyecto?
Chau y gracias de antemano.
Título: Re: Necesito Ayuda Con Un Insert
Publicado por: fuhrer en Martes 15 de Marzo de 2005, 22:12
Hola que tal.

a veces el que no te inserte en la BD, depende del tipo de datos que estes pasando, la forma en que lo haces es para indicar que es una cadena, asi que puedes probar poniendo tu variable id sin las apostrofes o comillas censillas, si no te funcionara entoncres puedes hacer un cast:

Código: Text
  1. &#036;id = (int)&#036;id
  2.  
  3.  
e intentar poniendola sin apostrofes.

De otra forma, si no es muy importante, podrias cambiarle el tipo de dato a tu cambi id de tu tabla.

Espero te sirva, por que a mi alguna vez me paso lo mismo, y si no vuelve a preguntar con confianza.

Hasta luego.
Título: Re: Necesito Ayuda Con Un Insert
Publicado por: andresadoc en Viernes 18 de Marzo de 2005, 16:06
Gaviotica, lo q te sugiero es q imprimas las consultas q estas generando para q puedas ver si la variable $id  lleva o no datos y asi podras ver donde esta generandose el error. Cuando hagas una consulta a la bd hazlo asi:

mysql_query($sql, $conexion) or die(mysql_error());

para q puedas darte cuenta de los errores y no perder tiempo
Título: Re: Necesito Ayuda Con Un Insert
Publicado por: JDO en Martes 26 de Abril de 2005, 04:50
hola


Asumiendo que el campo de id en la base de datos sea de tipo int o algun tipo numerico el error esta en que en el insert la variable $id no debe llevar comillas en tu caso comillas sencillas (')

$sentencia = "insert into investigador values ('$id','$Cedula','$Apellido','$Nombre','$Mail','$Pais','$Estado','$Direccion','$Area','$Temario')";


espero haberte ayudado

Saludos  :D