Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/12/2005, 06:45
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Así es .. la función mysql_query() sólo puede ejecutar una sentencia SQL a la vez. (y phpMyadmin lo que hace es aplicar un "explode()" al caracter ; que es el separador de instrucciones SQL y las ejecuta una por una ...)

Reordena tu código para ejecutar una sentencia a la vez .. pero como usas transacciones inicia y termina la transacción fuera de tu bucle donde vas ejecutando las sentencias SQL por separado.
Código PHP:
mysql_query("Begin");
for(
$n=1$n<=$_POST['nreg']; $n++){ 
    
$sql2="insert into car (car1, car2) values ('".$_POST['car1']."', '".$_POST['car2']."'); "
    
$dato2=mysql_query($sql2) or die (no_graba()); 
    echo 
$sql2
    } 
mysql_query("Commit"); 
Por cierto .. si usas Mysql 4.1.x en adelante con PHP 5.x en adelante puedes usar el nuevo "cliente" y nueva "extensión" de PHP para mysql. Me refiero a:

mysqli_xxxx() funciones de la extensión mysqli
www.php.net/mysqli

Con esas nuevas funciones .. ahora si que se pueden lanzar várias consultas SQL en una llamada a msqli_query()

Un saludo,