Foros del Web » Programando para Internet » PHP »

[Consulta] problemas con update de DB.

Estas en el tema de [Consulta] problemas con update de DB. en el foro de PHP en Foros del Web. mi problema radica en que no estoy seguro donde es el error, para que no me updatee la DB... lo que hago es lo siguiente: ...
  #1 (permalink)  
Antiguo 04/07/2009, 18:16
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta [Consulta] problemas con update de DB.

mi problema radica en que no estoy seguro donde es el error, para que no me updatee la DB... lo que hago es lo siguiente:

Código PHP:
//Conexion con la base
mysql_connect($server,$dbuser,$dbpass);

//selección de la base de datos con la que vamos a trabajar
mysql_select_db($database);

if(!empty(
$_POST["precio"])){
$query="SELECT * FROM item WHERE nombre='$nombre'";
$querys mysql_query($query);

if (
$reg=mysql_fetch_array($querys))
{
    
$precios=$reg['precio'];
$sSQL="Update item Set precio ='$precios' Where nombre='$nombre'";
mysql_query($sSQL);    
}


en una pagina tengo un formulario donde se puede elegir el nombre del item y poner una nueva descripcion y un nuevo precio para este mismo, pero bien, hago el update, y realmente no hace ningun cambio, revizo la DB. y no pasa nada D:

los datos llegan bien del formulario, porque los imprimo por pantalla por las dudas y llegar del formulario llegan lo mas bien:

Código PHP:
<?
  
echo "<br>";    
  echo 
"<b>Nombre: </b>".$nombre."<br><br>";
  echo 
"<b>Descripci&oacute;n: </b>".$descripcion."<br><br>";
  echo 
"<b>Precio: </b>".$precio."<br><hr><br>";
?>
lo que no se, es por que o como hacer para modificar el campo de la DB.

desde ya gracias por su tiempo.
  #2 (permalink)  
Antiguo 04/07/2009, 18:32
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 6 meses
Puntos: 18
Respuesta: [Consulta] problemas con update de DB.

No le estás asignando ningún valor a la conexión.
debería ser
$database=mysql_connect($server,$dbuser,$dbpass);
  #3 (permalink)  
Antiguo 04/07/2009, 18:54
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: [Consulta] problemas con update de DB.

hice esa modificacion, pero ahora me tira un warning y sigue sin modificar los datos D:

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\editar_item.php on line 66
linea del warning:

Cita:
if ($reg=mysql_fetch_array($querys)){
  #4 (permalink)  
Antiguo 04/07/2009, 20:20
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 6 meses
Puntos: 18
Respuesta: [Consulta] problemas con update de DB.

tienes una tabla que se llama "item" o un campo en ella llamado nombre?
  #5 (permalink)  
Antiguo 05/07/2009, 20:22
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: [Consulta] problemas con update de DB.

tengo una tabla llamada item, en la cual, hay un campo nombre, uno descripcion, y uno precio.
  #6 (permalink)  
Antiguo 05/07/2009, 20:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: [Consulta] problemas con update de DB.

Cita:
Iniciado por trasgukabi Ver Mensaje
No le estás asignando ningún valor a la conexión.
debería ser
$database=mysql_connect($server,$dbuser,$dbpass);
De hecho, no es necesario asignar lo que devuelve la conexión a una variable.

@Hiruma-Sama, depura tus consultas usando mysql_error()

mysql_query($sql) or die(mysql_error())
  #7 (permalink)  
Antiguo 05/07/2009, 23:05
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 6 meses
Puntos: 18
Respuesta: [Consulta] problemas con update de DB.

Cita:
Iniciado por Ronruby Ver Mensaje
De hecho, no es necesario asignar lo que devuelve la conexión a una variable.

@Hiruma-Sama, depura tus consultas usando mysql_error()

mysql_query($sql) or die(mysql_error())
si seguido se hace mysql_select_db($database), sí
  #8 (permalink)  
Antiguo 09/07/2009, 15:25
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta Respuesta: [Consulta] problemas con update de DB.

Bueno, le paso a comentar, como es mi situacion.

lei las modificaciones que me sugerian, la de poner la variable $database estaba bien, lo que pasa que en realidad yo me olvide de incluir un codigo donde ya se elige a la base de datos. despues puse lo de depurar, pero me sigue sin actualizar nada, no me tira ningun error, pero no puedo actualizar los datos en la base de datos D:

dejo el codigo actual:

Código PHP:
<?
$server
="localhost"/* Nuestro server mysql */
$database="pokebase"/* Nuestra base de datos */
$dbpass=""/*Nuestro password mysql */
$dbuser="root"/* Nuestro user mysql */

//Conexion con la base
mysql_connect($server,$dbuser,$dbpass);

//selección de la base de datos con la que vamos a trabajar
mysql_select_db($database);

if(!empty(
$_POST["precio"])){
///----------------------------//
$query="SELECT * FROM item WHERE nombre='$nombre'";
$querys mysql_query($query);

if (
$reg=mysql_fetch_array($querys))
{
    
$precios=$reg['precio'];
$sSQL="Update item Set precio='$precios' Where nombre='$nombre'";
mysql_query($sSQL) or die(mysql_error());
}

}
IF (!empty(
$_POST["descripcion"])){

$query="SELECT * FROM item WHERE nombre='$nombre'";
$querys mysql_query($query);

if (
$reg=mysql_fetch_array($querys))
{
$descris=$reg['descripcion'];
$sSQL="Update item Set descripcion='$descris' Where nombre='$nombre'";
mysql_query($sSQL) or die(mysql_error());
}
}

  echo 
"<br>";    
  echo 
"<b>Nombre: </b>".$nombre."<br><br>";
  echo 
"<b>Descripci&oacute;n: </b>".$descripcion."<br><br>";
  echo 
"<b>Precio: </b>".$precio."<br><hr><br>";

?>
los datos llegan bien del formulario, e incluso, ingresan bien a los diferentes IF's ... es decir, si yo solo relleno el campo 'DESCRIPCION' , pues solo entra al IF. que corresponde a 'DESCRIPCION', y asi hace lo mismo con el 'PRECIO' o si decido modificar ambos al mismo tiempo, pero lo malo es que no lo puedo hacer que actualice la tabla.

desde ya gracias por su tiempo. ^^
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 09:11.