Foros del Web » Programando para Internet » PHP »

Probelma con query

Estas en el tema de Probelma con query en el foro de PHP en Foros del Web. Saludos: estoy tratando de ejecutar el sgte query: Código PHP: qry1 = "update inventarios set estado=1 where idinv=6637" ; qry2 = "update ventas set estado=0 where idprod=1308" ; query = $qry1 . ';' . qry2 ...
  #1 (permalink)  
Antiguo 05/06/2006, 16:01
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Probelma con query

Saludos:
estoy tratando de ejecutar el sgte query:
Código PHP:
qry1="update inventarios set estado=1 where idinv=6637";
qry2="update ventas set estado=0 where idprod=1308";
query=$qry1.';'.qry2;
$ok=mysql_db_query(cnxBaseDatos(),$query); 
al hacerlo en phpmyadmin, no tengo problemas, pero en la pagina misma, no me permite actualizar los campos.
Si es q mysql_db_query no permite hacerlo, ¿como podria hacer esta actualizacion??
Muchas gracias!
__________________
:adios:
  #2 (permalink)  
Antiguo 05/06/2006, 16:07
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Tienes que realizar la actualizacion de la tablas por separado.

Saludillos.
  #3 (permalink)  
Antiguo 05/06/2006, 16:07
okram
Invitado
 
Mensajes: n/a
Puntos:
reemplaza esta linea
$ok=mysql_db_query(cnxBaseDatos(),$query);
con
$ok=mysql_db_query(cnxBaseDatos(),$query) or die(mysql_error());
eso te mandara un mensaje de error... lo posteas aqui para saber cual fue el error en la consulta

Salu2
  #4 (permalink)  
Antiguo 05/06/2006, 16:11
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '; update inventory set state=0 where SerialNumber='16501'' at l
__________________
:adios:
  #5 (permalink)  
Antiguo 05/06/2006, 16:13
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
entonces...no hay modo de hacerlo todo en una sola sentencia???
o es por la version de php que uso???
__________________
:adios:
  #6 (permalink)  
Antiguo 05/06/2006, 16:15
okram
Invitado
 
Mensajes: n/a
Puntos:
lo que suponia, no puedes ejecutar dos consultas simultaneamente, nisiquieras separandolas por ;

debes ejecutarlas por separado:3

Código PHP:
$qry1="update inventarios set estado=1 where idinv=6637"
$qry2="update ventas set estado=0 where idprod=1308"
$ok1=mysql_db_query(cnxBaseDatos(),$qry1);
$ok2=mysql_db_query(cnxBaseDatos(),$qry2); 
Salu2
  #7 (permalink)  
Antiguo 05/06/2006, 16:18
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Como lo habia dicho .
Si lo habia dicho, es por que en alguna ocasion ya la habia intentado tambien.
  #8 (permalink)  
Antiguo 05/06/2006, 16:18
okram
Invitado
 
Mensajes: n/a
Puntos:
por otro lado, el uso de mysql_db_query es ya obsoleto, con tendencia a desparecer en nuevas versiones del PHP

es mejor el uso de mysql_select_db para salkeccionar la BD y mysql_query para ejecutar la consulta

http://www.php.net/mysql_db_query

Salu2
  #9 (permalink)  
Antiguo 05/06/2006, 16:19
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Muchas gracias!
__________________
:adios:
  #10 (permalink)  
Antiguo 05/06/2006, 16:19
okram
Invitado
 
Mensajes: n/a
Puntos:
xD eso me pasa por no leer todos los mensajes

Salu2
  #11 (permalink)  
Antiguo 05/06/2006, 16:23
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
y para cuando se podrá ejecutar varias consultas simultaneamente???
__________________
:adios:
  #12 (permalink)  
Antiguo 05/06/2006, 16:23
okram
Invitado
 
Mensajes: n/a
Puntos:
Se me ocurre una forma de simplificar el proceso... puedes crear una funcion:

Código PHP:
function multiples_querys($query) {
$arr explode(';',$query);
foreach ( 
$arr as $task ) {
mysql_db_query(cnxBaseDatos(),$task); }

y para ejecutar las querys:

Código PHP:
$qry1="update inventarios set estado=1 where idinv=6637"
$qry2="update ventas set estado=0 where idprod=1308"
$query=$qry1.';'.qry2
multiples_querys($query); 
Salu2
  #13 (permalink)  
Antiguo 05/06/2006, 16:25
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
se ve interesante...ahora mismo lo probaré
__________________
:adios:
  #14 (permalink)  
Antiguo 05/06/2006, 16:42
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
al cambiar los mysql_db_query por mysql_query me bota error, que no puede ejecutar la sentencia.
__________________
:adios:
  #15 (permalink)  
Antiguo 05/06/2006, 16:45
okram
Invitado
 
Mensajes: n/a
Puntos:
para hacer tu conexion a la base de datos puedes poner algo asi:

Código PHP:
$link mysql_connect('SERVIDOR','USUARIO','PASSWORD');
mysql_select_db('BASE_DE_DATOS',$link); 
y para hacer tus consultas:

Código PHP:
mysql_query($query,$link); 
la funcion que te di quedaria asi:

Código PHP:
function multiples_querys($query,&$link) {
$arr explode(';',$query);
foreach ( 
$arr as $task ) {
mysql_query($task,$link); 
}

EDITADO:
y para ejecutar la consulta:

Código PHP:
$qry1="update inventarios set estado=1 where idinv=6637"
$qry2="update ventas set estado=0 where idprod=1308"
$query=$qry1.';'.qry2
multiples_querys($query,$link); 
Salu2
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:54.