diff --git a/core/database_api.php b/core/database_api.php index 9fdca22..15abacc 100644 --- a/core/database_api.php +++ b/core/database_api.php @@ -387,11 +387,30 @@ function db_query( $p_query, array $p_arr_parms = null, $p_limit = -1, $p_offset '%b' => db_param(), '%l' => db_param(), ) ); + log_event( LOG_DATABASE, "q=$p_query" ); + $i = 0; + $p_off = 0; + $t_matches = array(); + $t_query = $p_query; + $t_res = array(); + while( 1 == preg_match('/[$][0-9]+/', $t_query, &$t_matches, PREG_OFFSET_CAPTURE ) ) { + $i++; + $t_res[] = substr( $t_query, 0, $t_matches[0][1] ) . '$' . $i; + $t_query = substr( $t_query, $t_matches[0][1] + strlen( $t_matches[0][0] ) ); + $t_matches = array(); + } + $t_query = implode( "", $t_res ) . $t_query; + if( 0 != strcmp( $p_query, $t_query ) ) { + log_event( LOG_DATABASE, "!!! $p_query\n<>\n$t_query" ); + $p_query = $t_query; + } if( db_is_oracle() ) { $p_query = db_oracle_adapt_query_syntax( $p_query, $p_arr_parms ); } + log_event( LOG_DATABASE, "Q=$p_query P=" . var_export( $p_arr_parms, TRUE ) ); + if( ( $p_limit != -1 ) || ( $p_offset != -1 ) ) { $t_result = $g_db->SelectLimit( $p_query, $p_limit, $p_offset, $p_arr_parms ); } else {