note 81566 modified in mysqli.multi-query by danbrown

From: Date: Fri, 28 Nov 2008 22:54:06 +0000
Subject: note 81566 modified in mysqli.multi-query by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-147394@lists.php.net to get a copy of this message
mysqli_multi_query handles MySQL Transaction on InnoDB's :-) <?php $mysqli = mysqli_connect( "localhost", "owner", "pass", "db", 3306, "/var/lib/mysql/mysql.sock" ); $QUERY = <<<EOT START TRANSACTION; SELECT @lng:=IF( STRCMP(main_lang,'de'), 'en', 'de' ) FROM main_data WHERE ( main_activ LIKE 1 ) ORDER BY main_id ASC; SELECT main_id, main_type, main_title, main_body, main_modified, main_posted FROM main_data WHERE ( main_type RLIKE "news|about" AND main_lang LIKE @lng AND main_activ LIKE 1 ) ORDER BY main_type ASC; COMMIT; EOT; $query = mysqli_multi_query( $mysqli, $QUERY ) or die( mysqli_error( $mysqli ) ); if( $query ) { do { if( $result = mysqli_store_result( $mysqli ) ) { $subresult = mysqli_fetch_assoc( $result ); if( ! isset( $subresult['main_id'] ) ) continue; foreach( $subresult AS $k => $v ) { var_dump( $k , $v ); } } } while ( mysqli_next_result( $mysqli ) ); } mysqli_close( $mysqli ); ?> --was-- mysqli_multi_query handles MySQL Transaction on InnoDB's :-) <?php $mysqli = mysqli_connect( "localhost", "owner", "pass", "db", 3306, "/var/lib/mysql/mysql.sock" ); $QUERY = <<<EOT START TRANSACTION; SELECT @lng:=IF( STRCMP(main_lang,'de'), 'en', 'de' ) FROM main_data WHERE ( main_activ LIKE 1 ) ORDER BY main_id ASC; SELECT main_id, main_type, main_title, main_body, main_modified, main_posted FROM main_data WHERE ( main_type RLIKE "news|about" AND main_lang LIKE @lng AND main_activ LIKE 1 ) ORDER BY main_type ASC; COMMIT; EOT; $query = mysqli_multi_query( $mysqli, $QUERY ) or die( mysqli_error( $mysqli ) ); if( $query ) { do { if( $result = mysqli_store_result( $mysqli ) ) { $subresult = mysqli_fetch_assoc( $result ); if( ! isset( $subresult['main_id'] ) ) continue; foreach( $subresult AS $k => $v ) { var_dump( $k , $v ); } } } while ( mysqli_next_result( $mysqli ) ); } mysqli_close( $mysqli ); ?> http://php.net/manual/en/mysqli.multi-query.php

« previous php.notes (#147394) next »