1<?php 2 3srand((double)microtime()*1000000); 4 5$user = 'SYSDBA'; 6$password = 'masterkey'; 7ini_set('ibase.default_user',$user); 8ini_set('ibase.default_password',$password); 9 10/* we need just the generated name, not the file itself */ 11unlink($test_base = tempnam(sys_get_temp_dir(),"php_ibase_test")); 12 13function init_db() 14{ 15 global $test_base, $user, $password; 16 17 $test_db = ibase_query(IBASE_CREATE, 18 sprintf("CREATE SCHEMA '%s' USER '%s' PASSWORD '%s' DEFAULT CHARACTER SET %s",$test_base, 19 $user, $password, ($charset = ini_get('ibase.default_charset')) ? $charset : 'NONE')); 20 $tr = ibase_trans($test_db); 21 ibase_query($tr,"create table test1 (i integer, c varchar(100))"); 22 ibase_commit_ret($tr); 23 ibase_query($tr,"insert into test1(i, c) values(1, 'test table not created with isql')"); 24 ibase_commit($tr); 25 ibase_close($test_db); 26} 27 28function cleanup_db() 29{ 30 global $test_base; 31 32 $r = ibase_connect($test_base); 33 ibase_drop_db($r); 34} 35 36register_shutdown_function('cleanup_db'); 37init_db(); 38 39function out_table($table_name) 40{ 41 echo "--- $table_name ---\n"; 42 $res = ibase_query("select * from $table_name"); 43 while ($r = ibase_fetch_row($res)) { 44 echo join("\t",$r)."\t\n"; 45 } 46 ibase_free_result($res); 47 echo "---\n"; 48} 49 50function out_result($result, $table_name = "") 51{ 52 echo "--- $table_name ---\n"; 53 while ($r = ibase_fetch_row($result)) { 54 echo join("\t",$r)."\t\n"; 55 } 56 echo "---\n"; 57} 58 59function out_result_trap_error($result, $table_name = "") 60{ 61 echo "--- $table_name ---\n"; 62 while ($r = @ibase_fetch_row($result)) { 63 echo join("\t",$r)."\t\n"; 64 } 65 echo "errmsg [" . ibase_errmsg() . "]\n"; 66 echo "---\n"; 67} 68 69/* M/D/Y H:M:S */ 70function rand_datetime() 71{ 72 return sprintf("%02d/%02d/%4d %02d:%02d:%02d", 73 rand()%12+1, rand()%28+1, rand()%100+1910, 74 rand()%24, rand()%60, rand()%60); 75} 76 77/* random binary string */ 78function rand_binstr($max_len) 79{ 80 $len = rand() % $max_len; 81 $s = ""; 82 while($len--) { 83 $s .= sprintf("%c", rand() % 256); 84 } 85 return $s; 86} 87 88function rand_str($max_len) 89{ 90 $len = rand() % $max_len; 91 $s = ""; 92 while ($len--) { 93 $s .= sprintf("%c", rand() % 26 + 65); 94 } 95 return $s; 96} 97 98function rand_number($len , $prec = -1, $sign = 1) 99{ 100 if ($prec == -1) { 101 $n = substr(rand() . rand(), 0, rand() % $len + 1); 102 if (strlen($n) < $len) { 103 $n .= "." . substr(rand(), 0, rand() % ($len - strlen($n)) + 1); 104 } 105 } else if ($prec == 0) { 106 $n = substr(rand() . rand(), 0, rand() % $len + 1); 107 } else if (($prec - $len) == 0) { 108 $n = substr(rand() . rand(), 0, 1); 109 $n .= "." . substr(rand(), 0, $prec); 110 } else { 111 $n = substr(rand() . rand(), 0, rand() % ($len - $prec) + 1); 112 $n .= "." . substr(rand(), 0, $prec); 113 } 114 if ($sign && (rand() % 3 == 0)) { 115 $n = "-" .$n; 116 } 117 return $n; 118} 119 120?> 121