Foros del Web » Programando para Internet » PHP »

Varios INSERT contatenados?

Estas en el tema de Varios INSERT contatenados? en el foro de PHP en Foros del Web. Sigo con este problema. Quiero concatenar varios insert en una sola cadena para luego hacer un único mysql_query, pero me da error. Tengo esto: Código ...
  #1 (permalink)  
Antiguo 11/03/2005, 03:31
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Varios INSERT contatenados?

Sigo con este problema. Quiero concatenar varios insert en una sola cadena para luego hacer un único mysql_query, pero me da error.

Tengo esto:
Código PHP:
$insertar="INSERT INTO encuesta(id_en,titulo_en) VALUES('','$titulo_en');INSERT INTO resp_enc(id_resp,resp1,resp2,resp3,voto1,voto2,voto3) VALUES('','$resp1','$resp2','$resp3',0,0,0);";
$ejecuta=mysql_query($insertar,$conex) or die(mysql_error()); 
Y siempre me sale por el die()

¿Alguna idea para esto?

Gracias.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 11/03/2005, 03:36
Avatar de txetxol  
Fecha de Ingreso: febrero-2002
Ubicación: Pamplona
Mensajes: 73
Antigüedad: 22 años, 2 meses
Puntos: 1
No se...

Supongoq ue esto será error al copiar

INSERT INTO resp_enc(id_resp,resp1,resp2,resp3,voto1,voto2,vot o3) VALUES('','$resp1','$resp2','$resp3',0,0,0);

Si quieres poner un campo con espacio tienes que encerrarlo entre ``
  #3 (permalink)  
Antiguo 11/03/2005, 04:06
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Perdona, es que no lo copie bien el codigo, es sin ese espacio, por alguna razon al poner el codigo aqui me pone ese espacio en blanco, pero en realidad el codigo va sin ese espacio.
Gracias por la ayuda.
¿Alguna ayudita mas please?
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 11/03/2005, 09:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Mysql con las funciones de PHP: mysql_xxx() no puede ejecutar más de una instrucción SQL a la vez .. Lease instrucción sql como: blablabal SQL; (punto y coma) y más BLbabla SQL ..

Tendras que separar tus instrucciones SQL en varias para ejecutarlas una a una .. Puedes usar también bajo tu ejemplo un array .. recorrerlo y ejecutar una por una cada instrucción:

Código PHP:
$sql_array=array();
$sql_array[]="INSERT ......";
$sql_array[]="INSERT .. el otro ...";

foreach (
$sql_array as $sql){
 
mysql_query($sql) or die (mysql_error());


Si usas PHP 5 com Mysql 4.1 en adelante ya puedes usar las funciones de la librería: mysqli_xxx() (www.php.net/mysqli) .. donde una de sus mejoras es justamente que mysqli_query() puede ejecutar várias instrucciones SQL (separadas por ;).

Un saludo,
  #5 (permalink)  
Antiguo 11/03/2005, 11:34
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Muuuchas gracias por la aclaracion.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
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 06:29.