Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?PHP $runs = array(100, 1000); $rows = array(100, 1000); $types = array( ..

Decoded Output download

<?php
$runs   = array(100, 1000);
$rows   = array(100, 1000);
$types  = array(
            16    => 'varchar(16)',
            32    => 'varchar(32)',
            64    => 'varchar(64)',
            128   => 'varchar(128)',
            256   => 'varchar(256)',
            512   => 'varchar(512)',
            1024  => 'varchar(1024)',
            2048  => 'varchar(2048)',
            4192  => 'varchar(4192)',
            8384  => 'varchar(8384)',
            16768 => 'varchar(16768)',
            33536 => 'varchar(33536)',
            65500 => 'varchar(65500)'
            
          );
foreach ($runs as $k => $num_runs) {
  foreach ($rows as $k => $num_rows) {    
    foreach ($types as $len => $type) {
      $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = 0;
      $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' data_seek()'] = 0;
    }
  }
}
$description = 'Connect, create n-rows with varchar(m), SELECT all, fetch them in reverse order using o-times [$runs] mysqli_data_seek(n...0), close. n, m and o vary.';
$errors = array();

do {
  
  if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
    $errors[] = sprintf("Connect failure (converted code: %s)
", ($flag_original_code) ? 'no' : 'yes');
    break;
  }
    
  
  foreach ($types as $len => $type) {
    
    if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {
      $errors[] = sprintf("DROP TABLE failed (converted code: %s): [%d] %s
", 
        ($flag_original_code) ? 'no' : 'yes',
        mysqli_errno($link), mysqli_error($link));
      break 2;
    }
  
    $sql = sprintf("CREATE TABLE test(id INT, label %s)", $type);
    if (!mysqli_query($link, $sql)) {
      $errors[] = sprintf("CREATE TABLE (%s) failed (converted code: %s): [%d] %s
", 
        $sql,
        ($flag_original_code) ? 'no' : 'yes',
        mysqli_errno($link), mysqli_error($link));
      break 2;
    }
    
    foreach ($rows as $k => $num_rows) {
      foreach ($runs as $k => $num_runs) {
        
        // create n-rows
        if (!mysqli_query($link, "DELETE FROM test")) {
          $errors[] = sprintf("DELETE failed (%s) (converted code: %s): [%d] %s
", 
            $type,
            ($flag_original_code) ? 'no' : 'yes',
            mysqli_errno($link), mysqli_error($link));
          break 4;
        }
               
        $label = str_repeat('a', $len);
        for ($i = 0; $i < $num_rows; $i++) {
          $sql = sprintf("INSERT INTO test(id, label) VALUES (%d, '%s')", $i, $label);
          if (!mysqli_query($link, $sql)) {
            $errors[] = sprintf("INSERT failed (%s) (converted code: %s): [%d] %s
", 
              $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }          
        }
        
        if (!$res = mysqli_query($link, "SELECT id, label FROM test ORDER BY id")) {
          $errors[] = sprintf("DELETE failed (%s) (converted code: %s): [%d] %s
", 
            $type,
            ($flag_original_code) ? 'no' : 'yes',
            mysqli_errno($link), mysqli_error($link));
          break 4;
        }
        
        mt_srand();
        $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = microtime(true);
        for ($i = $num_rows - 1; $i >= 0; $i--) {
          
          $pos = $i;
          
          $start = microtime(true);
          if (!mysqli_data_seek($res, $pos)) {            
            $errors[] = sprintf("seek() to %d of %d rows failed (%s) (converted code: %s): [%d] %s
", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }
          $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' data_seek()'] += (microtime(true) - $start);
          
          if (!$row = mysqli_fetch_assoc($res)) {
            $errors[] = sprintf("fetch_assoc() for %dth of %d rows failed (%s) (converted code: %s): [%d] %s
", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }
          
          if ($row['id'] != $pos) {
            $errors[] = sprintf("seek() + fetch() for %dth of %d rows did not work (%s) (converted code: %s): [%d] %s
", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',              
              mysqli_errno($link), mysqli_error($link));
              var_dump($row);
              var_dump($pos);
            break 5;
          }

        }
        $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = microtime(true) - $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'];
        
   
        mysqli_free_result($res);        
      }
    }
    
  } // end foreach types
 
  
  mysqli_close($link);
  
} while (false);
?>

Did this file decode correctly?

Original Code

<?PHP
$runs   = array(100, 1000);
$rows   = array(100, 1000);
$types  = array(
            16    => 'varchar(16)',
            32    => 'varchar(32)',
            64    => 'varchar(64)',
            128   => 'varchar(128)',
            256   => 'varchar(256)',
            512   => 'varchar(512)',
            1024  => 'varchar(1024)',
            2048  => 'varchar(2048)',
            4192  => 'varchar(4192)',
            8384  => 'varchar(8384)',
            16768 => 'varchar(16768)',
            33536 => 'varchar(33536)',
            65500 => 'varchar(65500)'
            
          );
foreach ($runs as $k => $num_runs) {
  foreach ($rows as $k => $num_rows) {    
    foreach ($types as $len => $type) {
      $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = 0;
      $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' data_seek()'] = 0;
    }
  }
}
$description = 'Connect, create n-rows with varchar(m), SELECT all, fetch them in reverse order using o-times [$runs] mysqli_data_seek(n...0), close. n, m and o vary.';
$errors = array();

do {
  
  if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
    $errors[] = sprintf("Connect failure (converted code: %s)\n", ($flag_original_code) ? 'no' : 'yes');
    break;
  }
    
  
  foreach ($types as $len => $type) {
    
    if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {
      $errors[] = sprintf("DROP TABLE failed (converted code: %s): [%d] %s\n", 
        ($flag_original_code) ? 'no' : 'yes',
        mysqli_errno($link), mysqli_error($link));
      break 2;
    }
  
    $sql = sprintf("CREATE TABLE test(id INT, label %s)", $type);
    if (!mysqli_query($link, $sql)) {
      $errors[] = sprintf("CREATE TABLE (%s) failed (converted code: %s): [%d] %s\n", 
        $sql,
        ($flag_original_code) ? 'no' : 'yes',
        mysqli_errno($link), mysqli_error($link));
      break 2;
    }
    
    foreach ($rows as $k => $num_rows) {
      foreach ($runs as $k => $num_runs) {
        
        // create n-rows
        if (!mysqli_query($link, "DELETE FROM test")) {
          $errors[] = sprintf("DELETE failed (%s) (converted code: %s): [%d] %s\n", 
            $type,
            ($flag_original_code) ? 'no' : 'yes',
            mysqli_errno($link), mysqli_error($link));
          break 4;
        }
               
        $label = str_repeat('a', $len);
        for ($i = 0; $i < $num_rows; $i++) {
          $sql = sprintf("INSERT INTO test(id, label) VALUES (%d, '%s')", $i, $label);
          if (!mysqli_query($link, $sql)) {
            $errors[] = sprintf("INSERT failed (%s) (converted code: %s): [%d] %s\n", 
              $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }          
        }
        
        if (!$res = mysqli_query($link, "SELECT id, label FROM test ORDER BY id")) {
          $errors[] = sprintf("DELETE failed (%s) (converted code: %s): [%d] %s\n", 
            $type,
            ($flag_original_code) ? 'no' : 'yes',
            mysqli_errno($link), mysqli_error($link));
          break 4;
        }
        
        mt_srand();
        $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = microtime(true);
        for ($i = $num_rows - 1; $i >= 0; $i--) {
          
          $pos = $i;
          
          $start = microtime(true);
          if (!mysqli_data_seek($res, $pos)) {            
            $errors[] = sprintf("seek() to %d of %d rows failed (%s) (converted code: %s): [%d] %s\n", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }
          $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' data_seek()'] += (microtime(true) - $start);
          
          if (!$row = mysqli_fetch_assoc($res)) {
            $errors[] = sprintf("fetch_assoc() for %dth of %d rows failed (%s) (converted code: %s): [%d] %s\n", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',
              mysqli_errno($link), mysqli_error($link));
            break 5;
          }
          
          if ($row['id'] != $pos) {
            $errors[] = sprintf("seek() + fetch() for %dth of %d rows did not work (%s) (converted code: %s): [%d] %s\n", 
              $pos, $num_rows, $type,
              ($flag_original_code) ? 'no' : 'yes',              
              mysqli_errno($link), mysqli_error($link));
              var_dump($row);
              var_dump($pos);
            break 5;
          }

        }
        $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'] = microtime(true) - $times[$num_rows . ' rows: ' . $num_runs . 'x ' . $type . ' overall'];
        
   
        mysqli_free_result($res);        
      }
    }
    
  } // end foreach types
 
  
  mysqli_close($link);
  
} while (false);
?>

Function Calls

None

Variables

$k 1000
$len varchar(65500)
$rows [{'key': 0, 'value': 100}, {'key': 1, 'value': 1000}]
$runs [{'key': 0, 'value': 100}, {'key': 1, 'value': 1000}]
$type varchar(65500)
$times [{'key': '100 rows: 100x varchar(16) overall', 'value': 0}, {'key': '100 rows: 100x varchar(16) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(32) overall', 'value': 0}, {'key': '100 rows: 100x varchar(32) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(64) overall', 'value': 0}, {'key': '100 rows: 100x varchar(64) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(128) overall', 'value': 0}, {'key': '100 rows: 100x varchar(128) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(256) overall', 'value': 0}, {'key': '100 rows: 100x varchar(256) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(512) overall', 'value': 0}, {'key': '100 rows: 100x varchar(512) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(1024) overall', 'value': 0}, {'key': '100 rows: 100x varchar(1024) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(2048) overall', 'value': 0}, {'key': '100 rows: 100x varchar(2048) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(4192) overall', 'value': 0}, {'key': '100 rows: 100x varchar(4192) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(8384) overall', 'value': 0}, {'key': '100 rows: 100x varchar(8384) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(16768) overall', 'value': 0}, {'key': '100 rows: 100x varchar(16768) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(33536) overall', 'value': 0}, {'key': '100 rows: 100x varchar(33536) data_seek()', 'value': 0}, {'key': '100 rows: 100x varchar(65500) overall', 'value': 0}, {'key': '100 rows: 100x varchar(65500) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(16) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(16) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(32) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(32) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(64) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(64) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(128) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(128) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(256) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(256) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(512) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(512) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(1024) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(1024) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(2048) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(2048) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(4192) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(4192) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(8384) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(8384) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(16768) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(16768) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(33536) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(33536) data_seek()', 'value': 0}, {'key': '1000 rows: 100x varchar(65500) overall', 'value': 0}, {'key': '1000 rows: 100x varchar(65500) data_seek()', 'value': 0}]
$types [{'key': 16, 'value': 'varchar(16)'}, {'key': 32, 'value': 'varchar(32)'}, {'key': 64, 'value': 'varchar(64)'}, {'key': 128, 'value': 'varchar(128)'}, {'key': 256, 'value': 'varchar(256)'}, {'key': 512, 'value': 'varchar(512)'}, {'key': 1024, 'value': 'varchar(1024)'}, {'key': 2048, 'value': 'varchar(2048)'}, {'key': 4192, 'value': 'varchar(4192)'}, {'key': 8384, 'value': 'varchar(8384)'}, {'key': 16768, 'value': 'varchar(16768)'}, {'key': 33536, 'value': 'varchar(33536)'}, {'key': 65500, 'value': 'varchar(65500)'}]
$num_rows 1000
$num_runs 1000

Stats

MD5 ea42a54bc6fcf7dc47cff281eaf1fae2
Eval Count 0
Decode Time 357 ms