Foros del Web » Programando para Internet » PHP »

Problema con Insert

Estas en el tema de Problema con Insert en el foro de PHP en Foros del Web. tengo el siguiente codigo: Código PHP: <? include( '.../portal/lebasi444.php' ); $id = $_REQUEST [ 'id' ]; $nombre = $_REQUEST [ 'nombres' ]; $apellido = $_REQUEST ...
  #1 (permalink)  
Antiguo 20/08/2004, 14:44
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
Problema con Insert

tengo el siguiente codigo:

Código PHP:
<?

include('.../portal/lebasi444.php');

$id=$_REQUEST['id'];
$nombre=$_REQUEST['nombres'];
$apellido=$_REQUEST['apellidos'];
$ocupacion=$_REQUEST['ocupacion'];
$otra_ocup=$_REQUEST['otra_ocup'];
$universidad=$_REQUEST['universidad'];
$otra_u=$_REQUEST['otra_u'];
$programa=$_REQUEST['programa'];
$otro_prog=$_REQUEST['otro_progr'];
$telefono=$_REQUEST['telefono'];
$mail=$_REQUEST['mail'];

if(
$ocupacion="1"){
mysql_db_query("consultex","insert into bd (ocupacion) values ('$otra_ocup')");
echo 
"registro Insertado";
echo 
$otra_ocup;
} else {
mysql_db_query("consultex","insert into bd (ocupacion) values('$otra_ocup')");
echo 
"registro Insertado";
echo 
$ocupacion;
}
?>
y no se por que no me esta haciendo el insert, hasta hace un momento me lo hacia, pero ya no, ya reinicie mi servidor y hasta el equipo y nada, que puede ser? si a mi parecer la sintaxis esta bien
__________________
Say no more.......
  #2 (permalink)  
Antiguo 20/08/2004, 15:24
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Siempre, cuando tengas un problema con MySQL, lo mejor es utilizar la función mysql_error(); para saber que tipo de error es el que se está provocando, así al menos sabés si es un problema del Query, un problema de la base de datos o qué.

Y como sugerencia, te diría que no uses más la función mysql_db_query, porque es una función que está "deprecada" (puta, me encantaría tener una traducción para "deprecated"), o sea, que no se recomienda más su utilización. Para eso está la función mysql_select_db y mysql_query.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 20/08/2004, 15:32
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
pueden estar fallando varias cosas.....

intenta

Código PHP:
if ( $ocupacion "1" ) {
     
      
mysql_query("insert into bd (ocupacion) values ('$otra_ocup')") or die(mysql_error());  

}  else  {
      
       
mysql_db_query("consultex","insert into bd (ocupacion) values('$otra_ocup')");      
      

usa la funcion mysql_error en els egundo caso tambien, te debe mostrar si hay errores de sintaxis...

un saludo
  #4 (permalink)  
Antiguo 20/08/2004, 15:35
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
web estudio....... claro que hay una traduccion para deprecated....... desuso, o desaprobado suelen ser correctas y suficiente para darte a entender no crees?.
  #5 (permalink)  
Antiguo 20/08/2004, 15:39
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
sism82 intente con lo que me recomendaste pero ahora me sale: Entrada duplicada '' para la clave 1
__________________
Say no more.......
  #6 (permalink)  
Antiguo 20/08/2004, 15:42
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
y webstudio, intente tambien
Código PHP:

if($ocupacion="1"){
mysql_select_db("consultex","insert into bd (ocupacion) values ('$otra_ocup')") or die (mysql_error());
echo 
"registro Insertado";
echo 
$otra_ocup;
} else {
mysql_select_db("consultex","insert into bd (ocupacion) values('$ocupacion')") or die(mysql_error());
echo 
"registro Insertado";
echo 
$ocupacion;

y nada
__________________
Say no more.......
  #7 (permalink)  
Antiguo 20/08/2004, 15:43
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
ok..... entonces tienes un error en tu disenio de base de datos muy probablemente. Ese error indica que estas intentando insertar nuevamente un valor previamente insertado, en un campo que se supone debe ser unico. El campo que tengas como clave, debes ponerlo como "auto_increment" suponiendo que estas usando mysql

intentalo y veras que se soluciona.

un saludo
  #8 (permalink)  
Antiguo 20/08/2004, 16:10
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
nada, ya le estuve moviendo de todo y nada

lo tengo asi:

Código PHP:
if($ocupacion="1"){
mysql_db_query("consultex","insert into bd (ocupacion) values ('$otra_ocup')") or die (mysql_error());
echo 
"registro 2Insertado";
echo 
$otra_ocup;
} else {
mysql_db_query("consultex","insert into bd (ocupacion) values('$ocupacion')") or die(mysql_error());
echo 
"registro 1 Insertado";
echo 
$ocupacion;

segun las pruebas que he hecho, con la primera parte no hay problema, el error sale es en el else
__________________
Say no more.......
  #9 (permalink)  
Antiguo 20/08/2004, 16:23
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
para empezar utiliza mysql_query, lee la documentacion en php.net, la funcion mysql_db_query, como te dijo webestudio, no es recomendable ya.
Luego, el error que me dices, es error de SQL, no de PHP, hay muy buena diferencia. Poco podemos hacer si no nos das detalles de como tienes estructurada tu base de datos, y de donde recibes los datos que usas para tu consulta

un saludo
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 18:08.