Foros del Web » Programando para Internet » PHP »

No puedo hacer un insert con una variable con entero.

Estas en el tema de No puedo hacer un insert con una variable con entero. en el foro de PHP en Foros del Web. Hola, Tengo que hacer un insert y lo tengo que hacer con una variable recogida a través de un Get, el dato es un entero. ...
  #1 (permalink)  
Antiguo 11/06/2011, 10:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
No puedo hacer un insert con una variable con entero.

Hola,

Tengo que hacer un insert y lo tengo que hacer con una variable recogida a través de un Get, el dato es un entero.

En la sentencia tengo que insertar un mensage y una id.
No consigo hacerlo y lo que me hace es crear dos registros nuevos, uno con el mensage que he escrito y con una id = 0. Y otro con el mensage en blanco y la id que tiene la variable.

Este es el insert que hago.

mysql_query("INSERT INTO mensage(descripcion, id) VALUES ('$descripcion',$_GET[ident])",$ilink);

Gracias.
  #2 (permalink)  
Antiguo 11/06/2011, 10:21
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: No puedo hacer un insert con una variable con entero.

estas llamando dos campos ->descripcion e ->id
y le estas insertando 3 valores $descripcion ,$_GET[ident]) ,$ilink O_O¡¡

¿donde quieres que meta el tercer valor?

antes no te da error mysql.
  #3 (permalink)  
Antiguo 11/06/2011, 10:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

No estoy insertando tres valores, esto de $ilink, es para conectar a la base de datos.
  #4 (permalink)  
Antiguo 11/06/2011, 11:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: No puedo hacer un insert con una variable con entero.

jaja pues tienes razón es que cuando no se ponen las etiquetas de código me confundo muy facilmente.

a ver intentalo así:
Código PHP:
Ver original
  1. $sql = "INSERT INTO mensage(descripcion, id) VALUES ('".$descripcion."',".$_GET['ident'].")";
  2. $res = mysql_query($sql, $ilink);

a simple vista no tendría por que hacer eso con solo ese insert a menos que estuviera dentro de un ciclo.
  #5 (permalink)  
Antiguo 12/06/2011, 10:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

Lo he provado y no me funciona.

Pone la id bien pero en el mensage no pone nada, lo deja en blanco.
Y si la id la pongo manual, por ejemplo pongo 1 me funciona.

La id es un Integer.
  #6 (permalink)  
Antiguo 12/06/2011, 10:18
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: No puedo hacer un insert con una variable con entero.

Puede ser que los campos esten alreves? puedes probar de poner primero el id y luega la descripcion?

Si imprimes tu id y descripción, vienen con contenido¿? el tipo de campo de las columnas es correcto? usas autoincrement para el id?

Un saludo!
  #7 (permalink)  
Antiguo 12/06/2011, 10:32
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

El orden esta bien. Y si que incremento la id. Ademas si yo pongo la id manualmente, lo hace bien y pone bien el mensage y la id. Si pongo la id a través del get, pone la id bien pero pone el mensage mal.

Si no incrementase la id, me daria error y ni me saldria la id.
  #8 (permalink)  
Antiguo 12/06/2011, 10:40
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: No puedo hacer un insert con una variable con entero.

hola que tal como estas, has hecho lo que te dice @miktvr ya has intentado darle un "echo" a tu variable $descripcion y a tu get para ver que si esta pasando los valores?
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #9 (permalink)  
Antiguo 12/06/2011, 10:50
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

El echo no lo hago. Pero me conecto a la base de datos a través de la consola y miro haber si ha escrito algo o no. Y de esta manera escribe la id con el numero y el mensage en blanco.
  #10 (permalink)  
Antiguo 12/06/2011, 10:58
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: No puedo hacer un insert con una variable con entero.

segun dices, tomas un valor entero de un get, supongo que es el id, aora bien mi pregunta es de donde tomas la variable $descripcion?, haces una consulta o de donde sale
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #11 (permalink)  
Antiguo 12/06/2011, 11:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: No puedo hacer un insert con una variable con entero.

¿Y por qué envías el id si lo has puesto como autoincrement?. Cuando se pone un campo como autoincrement es para no usarlo, la base de datos lo escribe automáticamente. En este caso la sentencia sería simplemete:

sql = "INSERT INTO mensage(descripcion) VALUES ('".$descripcion."')";

La base de datos escribe el id automáticamente, tú no te tienes que preocupar.
Esto en el caso de que realmente lo hayas puesto como autoincrement, que no me ha quedado claro con lo que has dicho.
  #12 (permalink)  
Antiguo 12/06/2011, 12:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

$descripcion lo consigo de un formulario.
Tengo un formulario para rellenar, una vez rellenado y se da en enviar hago que escriba este valor mas la id en la base de datos.

Perdon, me explique un poco mal, este id es de usuario, y por eso no pongo que se incremente. Me confundi en explicarlo con otro id que tengo...
  #13 (permalink)  
Antiguo 12/06/2011, 13:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: No puedo hacer un insert con una variable con entero.

Yo creo que lo que debes hacer es un echo de la sentencia sql, para saber como te queda realmente. Luego la copias y la pegas en el phpmyadmin y miras a ver que pasa.
Hazlo de las dos maneras. Poniendo el id manualmente y poniéndolo a través del get. Pones los dos echos y comparas si son iguales o hay algún cambio. En teoría te tendrían que salir igual, pero si dices que luego en la base de datos hace cosas distintas es porque las sentencias no son iguales. Al hacer el echo sabrás cual es la diferencia y cual puede ser el problema.
  #14 (permalink)  
Antiguo 12/06/2011, 14:11
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: No puedo hacer un insert con una variable con entero.

Si pones manualmente el ident funciona y colocandolo de GET no, quiere decir que eso es lo que falla.

Podrias poner el codigo del formulario de como mandas la url hacia ese archivo php ?
  #15 (permalink)  
Antiguo 13/06/2011, 06:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

Este es el codigo que tengo del formulario.

<FORM method="get" action="mensage.php">
<TABLE BORDER=0>
<TR>
<TD>Descripcio Incidencia</TD>
<TD>
<TEXTAREA rows="3" name="descripcion">
Mensage</TEXTAREA>
</TD>
</TR>
<TR>
<td><input type="submit" name="Submit" value="Enviar"></td>
<td>&nbsp;</td>
</TR>
</TABLE>

</FORM>

Yo creo que lo que me falla es a la hora de hacer el insert con el get. Porque como he dicho si en vez de poner get pongo la id manualmente, lo hace bien.

Tambien he realizado un echo del get y me sale el numero bien.
  #16 (permalink)  
Antiguo 13/06/2011, 07:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: No puedo hacer un insert con una variable con entero.

No es por nada, pero con ese formulario no envías ninguna id. Supongo que no habrás puesto el código completo.
Insisto en que hagas un echo de la sentencia sql.
  #17 (permalink)  
Antiguo 13/06/2011, 08:58
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

Este formulario envia este campo y lo pasa a la misma pagina.
Y después mas abajo hay el codigo php, que cuando el usuario hace enviar, hace el insert de $descripcion (que estaba en el formulario) y del get, que es una variable recogida.

Creo que tienes razon que en el formulario tendria que pasar la variable que hay en el get, pero como lo tendria que hacer?
  #18 (permalink)  
Antiguo 13/06/2011, 09:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No puedo hacer un insert con una variable con entero.

Ya esta, solucionado.

En el formulario tenia que pasar la id también. Como en la pagina anterior la pasaba, pensaba que no era necesario, pero como hago que el formulario redirige a la misma pagina no volvia a pasar la id y por eso después me ponia 0.

Muchas Gracias!

Etiquetas: entero, insert, variables
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 11:54.