¿Pueden ocurrir llamadas dentro de un bloque de transacción PDO? Este código se simplifica (usando la base de datos MySQL) ...PDO Transacciones y llamadas a funciones
try{
$db->beginTransaction();
// call to function that creates user
$user_id = create_user();
// call to function that creates company
$company_id = create_company();
// call to function to link user & company
add_user_to_company($user_id, $company_id);
$db->commit();
}
Si esto no puede ocurrir el uso de transacciones, ¿cuál es la estrategia recomendada?
Para aclarar más, las transacciones anidadas no son compatibles con MySQL, así que asegúrese de no iniciar una transacción dentro de ninguna de las funciones, de lo contrario [confirmará automáticamente la transacción pendiente] (http: //dev.mysql .com/doc/refman/5.5/es/implicit-commit.html). –
También asegúrese de no utilizar ningún tipo de DDL (crear/alterar/soltar declaraciones) porque comprometerán cualquier transacción que haya tenido. – Kris