Foros del Web » Programando para Internet » PHP »

Problema consulta MySQL en PHP

Estas en el tema de Problema consulta MySQL en PHP en el foro de PHP en Foros del Web. <?php $servidor = "localhost"; $usuario = "root"; $pass = ""; $base_datos = "basededatos"; $descriptor = mysql_connect($servidor,$usuario,$pass) ; mysql_select_db($base_datos,$descriptor); $Codijoc=$_POST["codijoc"]; $consulta = "SELECT Nom,Preu,Consola FROM productes ...
  #1 (permalink)  
Antiguo 08/06/2011, 05:00
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Problema consulta MySQL en PHP

<?php


$servidor = "localhost";
$usuario = "root";
$pass = "";
$base_datos = "basededatos";
$descriptor = mysql_connect($servidor,$usuario,$pass) ;

mysql_select_db($base_datos,$descriptor);
$Codijoc=$_POST["codijoc"];
$consulta = "SELECT Nom,Preu,Consola FROM productes where codijoc=$Codijoc";
$resultado = mysql_query($consulta,$descriptor);
$fila = mysql_fetch_array($resultado,MYSQL_ASSOC);
echo $_SESSION['usuario'] . " ha comprado :";
echo "<table border=1>";
echo "<tr>";
echo "<td align=center>Nom</td>";
echo "<td align=center>Preu</td>";
echo "<td align=center>Consola</td>";
echo "</tr>";
echo "<tr>";
echo "<td> $fila[Nom] </td>";
echo "<td> $fila[Preu] </td>";
echo "<td> $fila[Consola] </td>";
echo "</tr>";
echo "</table>";
$consulta1 = "SELECT Direccio FROM usuaris where Nom='$_SESSION'";
$resultado1 = mysql_query($consulta1,$descriptor);
$fila1 = mysql_fetch_array($resultado1,MYSQL_ASSOC);
echo "Se enviara a la direccion especificada en el registro,Gracias por su compra.";
echo '<meta http-equiv="refresh" content=5;url=index2.php>';
$consulta2 = "SELECT numero_en_stock FROM stock where codijoc=$Codijoc";
$resultado2 = mysql_query($consulta2,$descriptor);
$fila2 = mysql_fetch_array($resultado2,MYSQL_ASSOC);
$consulta3 = "UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc";
echo $consulta3;
mysql_close ($descriptor);

?>


Tengo este codigo y lo que necesito es que la ultima consulta funcione correctamente. Todo se ejecuta sin fallos ni errores pero la ultima consulta (UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc ) no me resta nada en la base de datos. En cambio si pongo esa misma consulta directamente desde el MySQL GUI Tools 5.0 funciona a la perfeccion. Alguien me podria decir donde tengo el fallo?

Gracias de antemano ^^ :D
  #2 (permalink)  
Antiguo 08/06/2011, 05:03
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 17 años, 4 meses
Puntos: 21
Respuesta: Problema consulta MySQL en PHP

Intenta esto:

Código PHP:
$consulta3 "UPDATE stock SET numero_en_stock=" . ($fila2["numero_en_stock"]-1) . " WHERE Codijoc='$Codijoc'"
Si no funciona haz un echo $consulta3 para ver que se esta intentando ejecutar.
__________________
----
http://www.mascodigo.com
  #3 (permalink)  
Antiguo 08/06/2011, 05:08
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 11 meses
Puntos: 209
Respuesta: Problema consulta MySQL en PHP

hola y bienvenido ... y si te da error lo que pasa es q no lo estas mostrando
cuando haces la consulta deberias ponerle mysql_query($sql) or die(mysql_error());

y lo otro es que tienes q pasar los parametros dentro de comillas simples

UPDATE stock SET numero_en_stock='$fila2[numero_en_stock]-1' WHERE Codijoc='$Codijoc'
  #4 (permalink)  
Antiguo 08/06/2011, 05:18
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema consulta MySQL en PHP

Cita:
Iniciado por iviamontes Ver Mensaje
hola y bienvenido ... y si te da error lo que pasa es q no lo estas mostrando
cuando haces la consulta deberias ponerle mysql_query($sql) or die(mysql_error());

y lo otro es que tienes q pasar los parametros dentro de comillas simples

UPDATE stock SET numero_en_stock='$fila2[numero_en_stock]-1' WHERE Codijoc='$Codijoc'

No me salta ningun error, cuando esto se ejecuta y muestro por pantalla con un echo el $consulta3 , me muestra por pantalla la consuta y es correcta. Observa :

UPDATE stock SET numero_en_stock=18-1 WHERE Codijoc=2

Por lo tanto, tendria que funcionar correctamente, ya que eso, ejecutado directamente dede el MySQL tools , lo modifica sin problemas.
Tambien lo he provado metiendo las variables entre comillas simples como dice arriba nx00 pero tampoco funciona. No se donde fallo T.T

Gracias por la bienvenida y la rapidez de respuesta, este foro es la polla ^^
  #5 (permalink)  
Antiguo 08/06/2011, 05:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 17 años, 4 meses
Puntos: 21
Respuesta: Problema consulta MySQL en PHP

Código PHP:
$fila2 mysql_fetch_array($resultado2,MYSQL_ASSOC);
$consulta3 "UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc";
echo 
$consulta3;
mysql_close ($descriptor); 
La consulta 3 no se ejecuta.

Tendrías que añadir:

Código PHP:
$fila2 mysql_fetch_array($resultado2,MYSQL_ASSOC);
$consulta3 "UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc";
mysql_query($consulta3); //Ejecutar la consulta
echo $consulta3;
mysql_close ($descriptor); 
__________________
----
http://www.mascodigo.com
  #6 (permalink)  
Antiguo 08/06/2011, 05:43
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema consulta MySQL en PHP

Cita:
Iniciado por nx00 Ver Mensaje
Código PHP:
$fila2 mysql_fetch_array($resultado2,MYSQL_ASSOC);
$consulta3 "UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc";
echo 
$consulta3;
mysql_close ($descriptor); 
La consulta 3 no se ejecuta.

Tendrías que añadir:

Código PHP:
$fila2 mysql_fetch_array($resultado2,MYSQL_ASSOC);
$consulta3 "UPDATE stock SET numero_en_stock=$fila2[numero_en_stock]-1 WHERE Codijoc=$Codijoc";
mysql_query($consulta3); //Ejecutar la consulta
echo $consulta3;
mysql_close ($descriptor); 
Tenias toda la razon, ya me funciona prefectamente!! Muchisismas gracias ^^
De verdad me habeis salvado jaja Lo necesitaba para un trabajo de sintesis soy principiante en esto ^^
Siempre que necesite ayuda vendre a este Foro, el MEJOR que he encontrado enserio ^^

Etiquetas: mysql, producto, restar
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 15:10.