Foros del Web » Programando para Internet » PHP »

Problemas con update

Estas en el tema de Problemas con update en el foro de PHP en Foros del Web. Hola, muy buenas noches a todos. Me encuentro realizando una gestión de artículos y lo último que me queda es poder editar un artículo. Para ...
  #1 (permalink)  
Antiguo 09/03/2009, 13:38
 
Fecha de Ingreso: diciembre-2008
Mensajes: 16
Antigüedad: 15 años, 3 meses
Puntos: 1
Exclamación Problemas con update

Hola, muy buenas noches a todos. Me encuentro realizando una gestión de artículos y lo último que me queda es poder editar un artículo.

Para ello muestro los datos del artículo seleccionado en "editar.php" metidos, por supuesto en un formulario, y un botón de submit y cancelar de toda la vida. Mando los datos a "grabar.php", que presenta un aspecto tal que así:

Código PHP:
<?php require_once('miconexion.php');

session_start();
if(!isset(
$_SESSION['usuario'])){
header("Location: ../index.php?msg=Debe iniciar sesión para entrar");
}
#conectamos a la base de datos

mysql_select_db($basedatos$miconexion);

#recogemos las variables

$idarticulo=$_POST['idarticulo'];
$nombre=TRIM($_POST['txtnombre']);
$categoria=TRIM($_POST['cmbcategoria']);
$descripcion=TRIM($_POST['txtdescripcion']);
$precio=TRIM($_POST['txtprecio']);
$oferta=TRIM($_POST['chkoferta']);
$preciooferta=TRIM($_POST['txtpreciooferta']);
$stock=TRIM($_POST['txtstock']);

#falta de pasar la foto (es un campo file que no he implementado aun pues primero prefiero resolver lo demás)


#hago la consulta y la ejecuto
$consulta="UPDATE articulos SET articulo='".$nombre."', idcategoria='".$categoria."', descripcion='".$descripcion."', precio='".$precio."', stock='".$stock."', oferta='".$oferta."', preciooferta='".$preciooferta."' WHERE idarticulo='".$idarticulo."'";

$resultado mysql_query($consulta,$miconexion);

#y redirigimos

header("Location: index.php?msg=Articulo actualizado correctamente");

?>

Bien, el caso es que funciona A LA PERFECCIÓN en LOCALHOST (en mi equipo) pero en mi alojamiento NO. Sin embargo, los INSERT (añadir artículos), DELETE (borrar artículos) y demás funcionan muy bien. Es el UPDATE quien me está creando estos problemas, y el usuario de la base de datos tiene TODOS los permisos.

Tengo que pasar las variables de alguna otra manera que no sea $_POST arriba, en el servidor?

Un cordial saludo.
  #2 (permalink)  
Antiguo 09/03/2009, 13:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: .:: Desesperado ::.

Prueba agregar el or die():
Código php:
Ver original
  1. $resultado = mysql_query($consulta,$miconexion) or die( mysql_error() );

Saludos
  #3 (permalink)  
Antiguo 09/03/2009, 13:45
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Respuesta: Problemas con update

Pon trim en minusculas. Pon un exit despues de cada header('Location'). Dices que no te funciona, pero no describes el error ni si salen mensajes de error.
  #4 (permalink)  
Antiguo 09/03/2009, 13:46
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Problemas con update

Que tal si haces el UPDATE dentro del query:

Código PHP:
mysql_query(" UPDATE articulos SET articulo='$nombre', idcategoria='$categoria', descripcion='$descripcion', precio='$precio', stock='$stock', oferta='$oferta', preciooferta='$preciooferta' WHERE idarticulo='$idarticulo' ")
or die (
$error_ins); 
No hace falta los puntos de concatenación...


Saludos
  #5 (permalink)  
Antiguo 09/03/2009, 13:50
 
Fecha de Ingreso: diciembre-2008
Mensajes: 16
Antigüedad: 15 años, 3 meses
Puntos: 1
El caso es que no da ningún error, por eso me extrañaba tanto. Voy a probar lo anterior y comento...

Listo, gracias al "or die(mysql_error())" me dijo que no había una base de datos seleccionada.

Comprobé que los datos de "miconexion.php" eran los correctos, pero.....

En la línea mysql_select_db($basedatos, $miconexion); debería haber puesto mysql_select_db($database_miconexion, $miconexion);

Todo correcto. Gracias chicos!!

Última edición por GatorV; 09/03/2009 a las 14:02
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 17:18.