Foros del Web » Programando para Internet » PHP »

Mysqli da error en consulta creada en php....pero no si la copio y pego en mysql

Estas en el tema de Mysqli da error en consulta creada en php....pero no si la copio y pego en mysql en el foro de PHP en Foros del Web. tengo una consulta que la genero tomando datos de varias tablas, genero una transaccion para estos datos y me devuelve error en la primera línea, ...
  #1 (permalink)  
Antiguo 29/12/2010, 20:34
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Mysqli da error en consulta creada en php....pero no si la copio y pego en mysql

tengo una consulta que la genero tomando datos de varias tablas, genero una transaccion para estos datos y me devuelve error en la primera línea, pero si hago un echo y copio y pegoel texto de la consulta en phpmyadmin resulta bien que sera?
:S
  #2 (permalink)  
Antiguo 29/12/2010, 21:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Mysqli da error en consulta creada en php....pero no si la copio y pego en

¿que extensión de mysql estás usando?: la extensión estándar con mysql_query no soporta más de una linea sql, tendrás que dividirlas y ejecutar tantas mysql_query como consultas existan, incluso por separado START TRANSACTION:

mysql_query("START TRANSACTION;",$conection);

mysql_query("SELECT ... query 01 ...;",$conection);
mysql_query("INSERT ... query 02 ...;",$conection); //o update, etc.
mysql_query("SELECT ... querys n ...;",$conection);

mysql_query("COMMIT;",$conection); //o ROLLBACK
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 30/12/2010, 07:13
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mysqli da error en consulta creada en php....pero no si la copio y pego en

Estoy usando mysqli, así lo tengo planteado...
Código PHP:
$transaccionEmision_var="START TRANSACTION;"
.$ins_emi                   //Esta variable
.$emiteRecibo           //y esta tienen varios insert dentro...
."COMMIT;
ROLLBACK;"
;
        

             if (!
mysqli_query($link,$transaccionEmision_var)) {
    
printf("Mensaje de error: %s\n"mysqli_error($link)); 
  #4 (permalink)  
Antiguo 30/12/2010, 07:22
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mysqli da error en consulta creada en php....pero no si la copio y pego en

Basicamente lo que me devuelve en el echo es una version más larga de esto:
Código:
START TRANSACTION; 
INSERT INTO emision VALUES (NULL,'19', CURDATE(),'Enero-Diciembre 2011', '0',0,'10'); 
INSERT INTO emision VALUES (NULL,'21', CURDATE(),'Enero-Diciembre 2011', '0',0,'10'); 
COMMIT;
ROLLBACK;
El mensaje de error:
Cita:
Mensaje de error: 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 'INSERT INTO emision ' at line 1
El hecho está en que si yo lo copio y lo pego en phpmyadmin lo toma sin problemas pero desde php no...
  #5 (permalink)  
Antiguo 30/12/2010, 07:30
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mysqli da error en consulta creada en php....pero no si la copio y pego en

Cita:
Iniciado por maycolalvarez Ver Mensaje
¿que extensión de mysql estás usando?: la extensión estándar con mysql_query no soporta más de una linea sql, tendrás que dividirlas y ejecutar tantas mysql_query como consultas existan, incluso por separado START TRANSACTION:

mysql_query("START TRANSACTION;",$conection);

mysql_query("SELECT ... query 01 ...;",$conection);
mysql_query("INSERT ... query 02 ...;",$conection); //o update, etc.
mysql_query("SELECT ... querys n ...;",$conection);

mysql_query("COMMIT;",$conection); //o ROLLBACK
No me funciona así ...el Rollback no me lo toma...

Última edición por martuanez; 30/12/2010 a las 07:52
  #6 (permalink)  
Antiguo 03/01/2011, 07:37
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mysqli da error en consulta creada en php....pero no si la copio y pego en

Resolví con:
Cita:
mysqli_multi_query
, jaja bruto día de calor!!

Etiquetas: mysql, mysqli
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 08:38.