Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysql en PHP

Estas en el tema de mysql en PHP en el foro de PHP en Foros del Web. Hola! Estoy intentando hacer la siguiente mysql: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original CREATE TEMPORARY TABLE temp3 AS SELECT id FROM locadena       ...
  #1 (permalink)  
Antiguo 01/07/2013, 16:30
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
mysql en PHP

Hola!

Estoy intentando hacer la siguiente mysql:

Código MySQL:
Ver original
  1. CREATE TEMPORARY TABLE temp3 AS SELECT id FROM locadena             WHERE id<0 AND (ult_ideq='$ot_eq' OR ult_equipo='$eq_co');
  2. DELETE FROM locadena                                                WHERE id IN (SELECT -id FROM temp3);
  3. UPDATE locadena SET id=id*-1,ind_operativo=ABS(ind_operativo)       WHERE id IN (SELECT id FROM temp3);

La cual va perfectamente hasta que la llevo a PHP, donde no funciona, no hace nada, al parecer no es capaz de mantener la tabla temporal:

Código PHP:
mysql_query("
CREATE TEMPORARY TABLE temp3 AS SELECT id FROM locadena                WHERE id<0 AND (ult_ideq='$ot_eq' OR ult_equipo='$eq_co');
DELETE FROM locadena                                                WHERE id IN (SELECT -id FROM temp3);
UPDATE locadena SET id=id*-1,ind_operativo=ABS(ind_operativo)        WHERE id IN (SELECT id FROM temp3);"
,$cnx); 
Alguien sabe que puede estar saliendo mal?

(me disculpo por usar mysql en vez de mysqli, pero ya está toda la web en mysql D:)

Gracias por su ayuda!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 01/07/2013, 16:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql en PHP

Consulta el manual, me parece que la extensión MySQL además de estár declarada como obsoleta no soporta múltiples consultas, así que de entrada ya estás mal ahí.

Intenta ejecutar cada consulta individualmente, eso debería funcionar, tampoco olvides depurar tu código.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/07/2013, 16:33
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: mysql en PHP

Holas, stramin.

Precisamente la clase mysql de php no permite ejecutar más de una línea por vez. Necesariamente tienes que cambiarte de librería si quieres ejecutar eso. Incluso creo recordar que hasta los procedimientos almacenados no los puedes ejecutar con el simple mysql :(

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 03/07/2013, 08:07
Avatar de exatienda  
Fecha de Ingreso: julio-2013
Ubicación: Manresa, Barcelona
Mensajes: 227
Antigüedad: 10 años, 9 meses
Puntos: 21
Respuesta: mysql en PHP

En este caso deberás hacer por separado las 3 consultas SQL, en una misma consulta si puedes pasarle varios insert into por ejemplo, reemplazando los distintos registros con sus respectivos valores pero para una ejecución de 3 consultas lo dicho, cada oveja con su pareja :)
__________________
cajas rack tpvs | impresoras
  #5 (permalink)  
Antiguo 03/07/2013, 10:10
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: mysql en PHP

Estimados, lamento informar que tras perder 2 días cambiando todo el sitio de mysql a mysqli por este asunto NO SE LOGRO EL OBJETIVO. XD

Lamentablemente mysqli tampoco logró hacer la tabla temporal o no pudo ejecutar más de una consulta, por lo que he quedado igual que antes y un poco peor...

Por lo tanto la única opción es hacer lo que dice exatienda, o sea poner 3 instrucciones de php. :(

Marco este tema como solucionado, al menos he aprendido algo nuevo.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 03/07/2013, 10:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: mysql en PHP

¿Como estas ejecutando la consulta? Recuerda que para ese tipo de consultas tienes que usar mysqli_multi_query.

Saludos.
  #7 (permalink)  
Antiguo 03/07/2013, 11:09
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: mysql en PHP

WOOOO, excelente, eso no lo conocía, muchas gracias!

Ahora si valió la pena el cambio a mysqli
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: mysql, select, tabla
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 10:16.