Foros del Web » Programando para Internet » PHP »

Porque la BD no inserta???

Estas en el tema de Porque la BD no inserta??? en el foro de PHP en Foros del Web. Hola chicos, soy nuevo aqui. Tengo un problema y ya no se que mas hacer. Tengo este codigo: $conn = mysql_connect ("mysql.webcindario.com", "usuario", "password"); mysql_select_db("base1",$conn); ...
  #1 (permalink)  
Antiguo 22/11/2003, 15:02
 
Fecha de Ingreso: noviembre-2003
Mensajes: 28
Antigüedad: 20 años, 5 meses
Puntos: 0
Porque la BD no inserta???

Hola chicos, soy nuevo aqui.

Tengo un problema y ya no se que mas hacer.

Tengo este codigo:

$conn = mysql_connect ("mysql.webcindario.com", "usuario", "password");
mysql_select_db("base1",$conn);

$max = mysql_result(mysql_query("SELECT MAX(Id_h) FROM Historias"),0);
$id_historia = ++$max;

$insertar = "insert into Historias (Id_h, Id_a, titulo, Id_gen, Id_clas, Id_ser, descripcion, n_caps, val_gen) values ($id_historia, 1, '$titulo', $sel_genero, $sel_clasif, $sel_series, '$descripcion', 0, 0.00)";

mysql_query($insertar, $conn);

todas las variables son de cajas de texto en un formulario definido en una pagina anterior.

El problema es que cuando ejecuto el INSERT INTO del mysql_query, no me lo ejecuta!!! es mas... puedo poner cualquier tonteria, que se yo "ghjbhjbhjbhjbj" y aun asi no me sale ningun error de que no reconoce esa instruccion o algo por el estilo, es decir, sencillamente NO lo hace

he hecho esto de mil maneras y de la unica manera en que lo me funciona es poniendo los valores en duro o sea con esta linea

mysql_query("insert into Historias (Id_h, Id_a, titulo, Id_gen, Id_clas, Id_ser, descripcion, n_caps, val_gen) values (5, 1, 'titulo_1', 0, 43, 21, 'descripcion_1', 0, 0)", $conn);

pero no es la idea po!!!

alguien me puede decir que diablos pasa???????

Por cierto, lo curioso es que el SELECT que sale antes del insert si me funciona... pero porque el insert no me funciona?
  #2 (permalink)  
Antiguo 22/11/2003, 15:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para ver el mensaje de error de MySQL al ejecutar una consulta debes usar mysql_error() (www.php.net/mysql_error):
Código PHP:
mysql_query($insertar$conn) or die("Error: $insertar <br>MySQL dice: ".mysql_error()); 
Asi veras la consulta exacta que intentas ejecutar y el mensaje de error de MySQL.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/11/2003, 21:02
Avatar de LeoIglesias  
Fecha de Ingreso: enero-2003
Ubicación: Concepcion del Uruguay
Mensajes: 53
Antigüedad: 21 años, 3 meses
Puntos: 0
tendrias que revisar como llegan las variables desde el formulario.

tendrias que hacer algo asi como:
$id_historia = $_XXX ['id_historia'];

o

$id_historia = $HTTP_XXX_VARS['id_historia'];

segun la version de php que tengas......

siendo xxx get o post segun sea el metodo por le que pasas las variables

Para fijarte si llegan bien o que es lo que llega podes practicar un "echo $insertar;" para ver que es lo que está insertando la consulta, si es que algo le llega....


Porsupuesto que lo que te respondio Josemi es casi una regla durante el desarrollo para ver que es lo que te dice MySQL.....


Saludos

Leo(!)
  #4 (permalink)  
Antiguo 23/11/2003, 11:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 28
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracias chicos!!!

no tenia idea del OR DIE, y gracias a eso pude ver lo que pasaba, el problema era que mi php esta configurado con register_globals = Off entonces ninguna de las variables tenia algun valor y eso me daba un error de sintaxis en el insert into.

asi que mejor ocupe los $_REQUEST y ahi funciono sin problemas.

Gracias chicos, les agredezco su ayuda
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 10:57.