⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 006.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--InterBase: binding (may take a while)--SKIPIF--<?php include("skipif.inc"); ?>--FILE--<?php /* $Id: 006.phpt,v 1.11 2004/05/30 16:20:25 abies Exp $ */	require("interbase.inc");		ibase_connect($test_base);		ibase_query(		"create table test6 (			iter		integer,			v_char		char(1000),			v_date      timestamp,			v_decimal   decimal(12,3),			v_double  	double precision,			v_float     float,			v_integer   integer,			v_numeric   numeric(4,2),			v_smallint  smallint,			v_varchar   varchar(10000)			)");	ibase_query(		"create procedure add1 (arg integer)		returns (result integer)		as 		begin			result = arg +1;		end");	ibase_commit();	/* if timefmt not supported, hide error */	ini_set('ibase.timestampformat',"%m/%d/%Y %H:%M:%S");	echo "insert\n";	for($iter = 0; $iter < 3; $iter++) {		/* prepare data  */		$v_char = rand_str(1000);		$v_date = rand_datetime();		$v_decimal = rand_number(12,3);		$v_double  = rand_number(20);		$v_float   = rand_number(7);		$v_integer = rand_number(9,0);		$v_numeric = rand_number(4,2);		$v_smallint = rand_number(5) % 32767;		$v_varchar = rand_str(10000);		ibase_query("insert into test6			(iter,v_char,v_date,v_decimal,v_double,v_float,			v_integer,v_numeric,v_smallint,v_varchar)			values (?,?,?,?,?,?,?,?,?,?)",			$iter, $v_char, $v_date, $v_decimal, $v_double, $v_float,			$v_integer, $v_numeric, $v_smallint, $v_varchar);		$sel = ibase_query("select * from test6 where iter = ?", $iter);		$row = ibase_fetch_object($sel);		if(substr($row->V_CHAR,0,strlen($v_char)) != $v_char) {			echo " CHAR fail:\n";			echo " in:  $v_char\n";			echo " out: $row->V_CHAR\n";		}		if($row->V_DATE != $v_date) {			echo " DATE fail\n";			echo " in:  $v_date\n";			echo " out: $row->V_DATE\n";		}		if($row->V_DECIMAL != $v_decimal) {			echo " DECIMAL fail\n";			echo " in:  $v_decimal\n";			echo " out: $row->V_DECIMAL\n";		}		if(abs($row->V_DOUBLE - $v_double) > abs($v_double / 1E15)) {			echo " DOUBLE fail\n";			echo " in:  $v_double\n";			echo " out: $row->V_DOUBLE\n";		}		if(abs($row->V_FLOAT - $v_float) > abs($v_float / 1E7)) {			echo " FLOAT fail\n";			echo " in:  $v_float\n";			echo " out: $row->V_FLOAT\n";		}		if($row->V_INTEGER != $v_integer) {			echo " INTEGER fail\n";			echo " in:  $v_integer\n";			echo " out: $row->V_INTEGER\n";		}		if ($row->V_NUMERIC != $v_numeric) {			echo " NUMERIC fail\n";			echo " in:  $v_numeric\n";			echo " out: $row->V_NUMERIC\n";		}		if ($row->V_SMALLINT != $v_smallint) {			echo " SMALLINT fail\n";			echo " in:  $v_smallint\n";			echo " out: $row->V_SMALLINT\n";		}		if ($row->V_VARCHAR != $v_varchar) {			echo " VARCHAR fail:\n";			echo " in:  $v_varchar\n";			echo " out: $row->V_VARCHAR\n";		}		ibase_free_result($sel);	}/* for($iter)*/	echo "select\n";	for($iter = 0; $iter < 3; $iter++) {		/* prepare data  */		$v_char = rand_str(1000);		$v_date = (int)rand_number(10,0,0);		$v_decimal = rand_number(12,3);		$v_double  = rand_number(20);		$v_float   = rand_number(7);		$v_integer = rand_number(9,0);		$v_numeric = rand_number(4,2);		$v_smallint = rand_number(5) % 32767;		$v_varchar = rand_str(10000);		/* clear table*/		ibase_query("delete from test6");		/* make one record */		ibase_query("insert into test6			(iter, v_char,v_date,v_decimal,			v_integer,v_numeric,v_smallint,v_varchar)			values (666, '$v_char',?,$v_decimal, $v_integer,			$v_numeric, $v_smallint, '$v_varchar')",$v_date);		/* test all types */		if(!($sel = ibase_query(			"select iter from test6 where v_char = ?", $v_char)) ||			!ibase_fetch_row($sel)) {			echo "CHAR fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_date = ?", $v_date)) ||			!ibase_fetch_row($sel)) {			echo "DATE fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_decimal = ?", $v_decimal)) ||			!ibase_fetch_row($sel)) {			echo "DECIMAL fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_integer = ?", $v_integer)) ||			!ibase_fetch_row($sel)) {			echo "INTEGER fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_numeric = ?", $v_numeric)) ||			!ibase_fetch_row($sel)) {			echo "NUMERIC fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_smallint = ?", $v_smallint)) ||			!ibase_fetch_row($sel)) {			echo "SMALLINT fail\n";		}		ibase_free_result($sel);		if(!($sel = ibase_query(			"select iter from test6 where v_varchar = ?", $v_varchar)) ||			!ibase_fetch_row($sel)) {			echo "VARCHAR fail\n";		}		ibase_free_result($sel);        	} /*for iter*/	echo "prepare and exec insert\n";    /* prepare table */	ibase_query("delete from test6");	/* prepare query */	$query = ibase_prepare(		"insert into test6 (v_integer) values (?)");	for($i = 0; $i < 10; $i++) {		ibase_execute($query, $i);	}	out_table("test6");	ibase_free_query($query);	echo "prepare and exec select\n";	/* prepare query */	$query = ibase_prepare("select * from test6		where v_integer between ? and ?");	$low_border = 2;	$high_border = 6;	$res = ibase_execute($query, $low_border, $high_border);	out_result($res, "test6");	ibase_free_result($res);	$low_border = 0;	$high_border = 4;	$res = ibase_execute($query, $low_border, $high_border);	out_result($res, "test6");	ibase_free_result($res);	$res = ibase_execute($query, "5", 7.5);	out_result($res, "test6");	ibase_free_result($res);	ibase_free_query($query);	/* test execute procedure */	$query = ibase_prepare("execute procedure add1(?)");	$res = array();	for ($i = 0; $i < 10; $i++) {		$res[] = ibase_execute($query,$i);	}	ibase_free_query($query);	foreach ($res as $r) {		out_result($r, "proc add1");		ibase_free_result($r);	}	ibase_close();	echo "end of test\n";?>--EXPECT--insertselectprepare and exec insert--- test6 ---						0										1										2										3										4										5										6										7										8										9				---prepare and exec select--- test6 ---						2										3										4										5										6				------ test6 ---						0										1										2										3										4				------ test6 ---						5										6										7				------ proc add1 ---1	------ proc add1 ---2	------ proc add1 ---3	------ proc add1 ---4	------ proc add1 ---5	------ proc add1 ---6	------ proc add1 ---7	------ proc add1 ---8	------ proc add1 ---9	------ proc add1 ---10	---end of test

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -