Foros del Web » Programando para Internet » PHP »

No se guarda en la base de datos

Estas en el tema de No se guarda en la base de datos en el foro de PHP en Foros del Web. Tengo este codigo para guardar texto en la base de datos Código PHP: include( 'olimpo.php' ); $consulta =  "Update ofertas Set texto='$oferta'" ; $resultado =  mysql_query ( $consulta ...
  #1 (permalink)  
Antiguo 07/07/2009, 05:51
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
No se guarda en la base de datos

Tengo este codigo para guardar texto en la base de datos

Código PHP:
include('olimpo.php');
$consulta"Update ofertas Set texto='$oferta'";
$resultadomysql_query($consulta) or die ("No se puede visualizar la accion");
echo 
header("Location:cambiar_ofertas.php"
y el formulario es el siguiente

Código HTML:
<form action="cambiar_ofertas2.php" method="post" name="form1">
    <textarea name="oferta" cols="50" rows="15" id="oferta"><br>
<br>
<br>
<br>
<br></textarea><br>
    <input type="submit" name="Submit" value="Enviar"> 
No me guarda los datos en la BD.
La estructura de la tabla es la siguiente:

Campo(id) tipo (int) Nulo (no) Predeterminado (0)
Campo(texto) tipo (longtext) Nulo (si) Predeterminado (null)

Y los indices son:

Clave(id) Tipo(unique) Cardinalidad (1)
Clave(texto) Tipo(fulltext) Cardinalidad (ninguna)

¿Algo esta mal?
Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 07/07/2009, 06:15
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: No se guarda en la base de datos

estas usando update y lo que necesitas usar para insertar datos en la base es un insert.
Saludos
  #3 (permalink)  
Antiguo 07/07/2009, 07:50
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: No se guarda en la base de datos

Hola J_mart:

La manera de hacer un update es la siguiente:

Update tabla campo por 'Nuevo campo' cuando el id sea 1

Es decir:

Código:
Update ofertas Set texto='$oferta' where id = 1
El update debe tener el where, y es ahí donde le indicas qué fila deseas cambiar.

Y tal cual lo dice martin0341, creo que necesitas hacer un insert no un update, si no, está mal la query.


Saludos
  #4 (permalink)  
Antiguo 07/07/2009, 14:24
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No se guarda en la base de datos

Cita:
Iniciado por ishoka Ver Mensaje
Hola J_mart:

La manera de hacer un update es la siguiente:

Update tabla campo por 'Nuevo campo' cuando el id sea 1

Es decir:

Código:
Update ofertas Set texto='$oferta' where id = 1
El update debe tener el where, y es ahí donde le indicas qué fila deseas cambiar.

Y tal cual lo dice martin0341, creo que necesitas hacer un insert no un update, si no, está mal la query.


Saludos

Gracias ishoka, ya le puse el "where"(aunque el indice es "unique" no "primary")

Código PHP:
include('olimpo.php'); 
$consulta"UPDATE ofertas SET texto= '$oferta' WHERE id=0";
$resultadomysql_query($consulta) or die ("No se puede visualizar la accion"); 
echo 
$resultado
Me da como resultado 1. El log no me tira ningun error, pero sigue sin guardarse el texto en la base de datos. Lo curioso es que si le meto yo un texto desde el phpmyadmin directamente, si que lo actualiza pero lo deja vacio.
¿No estara algo mal en el formulario? Parece que no recoge la informacion.
  #5 (permalink)  
Antiguo 07/07/2009, 14:26
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No se guarda en la base de datos

Perdona martin lo que yo quiero hacer es actualizar la oferta. No quiero introducir nuevas ofertas y que aparezcan todas.
Ahun asi debo hacerlo con el INSERT TO?
  #6 (permalink)  
Antiguo 07/07/2009, 14:31
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: No se guarda en la base de datos

si tienes el register_globals prendidos no tendrias que guardar la informacion que llega desde el formulario a una variable ej. $datos= $_POST['datos']; pero si los register globals estan apagados entonces si lo tendrias que hacer.

Prueba agregando antes de insertar los datos a la base.

Código PHP:
$oferta=$_POST['oferta']; 
  #7 (permalink)  
Antiguo 07/07/2009, 14:45
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No se guarda en la base de datos

Muchisimas gracias Alonsoandres. Era eso. Tengo el registre_global en off.
El caso es que lo probe antes y seguia sin registrarse. Seguro que hize algo mal.

Última edición por j_mart; 07/07/2009 a las 16:07 Razón: Al principio no salio pero ahora ya si
  #8 (permalink)  
Antiguo 07/07/2009, 17:24
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: No se guarda en la base de datos

de nada, me da gusto poder ayudar. :D
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:19.