W moim małym skrypcie testowym żadne rekordy nie pojawiają się przed zatwierdzeniem, jeśli loguję się z innej konsoli. Mogę jednak wybrać właśnie wstawione rekordy w tej samej sesji. Zakładam więc, że przed zatwierdzeniem możesz uzyskać dostęp do wierszy, które już są w tabeli, ale teraz nowe wiersze lub zmiany przed ich zatwierdzeniem.
<?php
require_once('db.php');
q( 'drop table if exists t' );
q( 'create table t (id integer not null auto_increment primary key, v datetime) engine=innodb' );
q( 'set transaction isolation level read uncommitted' );
q( 'start transaction' );
q( 'insert into t (v) values (now()),(now()),(now())' );
echo q1( 'count(*)', 't', 'true'); // translates to "select count(*) from t where true";
// echoes "3" to the console
// wait for input
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
// with a mysql client from a 2nd console at this point no new records show in table t
q( 'commit' );
// after this point all new records show up in table t from a 2nd session.