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

📄 test.php

📁 Typo3, 开源里边最强大的
💻 PHP
📖 第 1 页 / 共 4 页
字号:
		print "<p><b>\$db->sysDate not defined</b></p>";	}	print "<p>Test CSV</p>";	include_once('../toexport.inc.php');	//$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;	$rs = $db->SelectLimit('select id,firstname,lastname,created,\'He, he\' he,\'"\' q  from adoxyz',10);			print "<pre>";	print rs2csv($rs);	print "</pre>";		$rs = $db->SelectLimit('select id,firstname,lastname,created,\'The	"young man", he said\' from adoxyz',10);			if (PHP_VERSION < 5) {		print "<pre>";		rs2tabout($rs);		print "</pre>";	}	print " CacheFlush ";	$db->CacheFlush();		$date = $db->SQLDate('d-m-M-Y-\QQ h:i:s A');	$sql = "SELECT $date from ADOXYZ";	print "<p>Test SQLDate: ".htmlspecialchars($sql)."</p>";	$rs = $db->SelectLimit($sql,1);	$d = date('d-m-M-Y-').'Q'.(ceil(date('m')/3.0)).date(' h:i:s A');	if (!$rs) Err("SQLDate query returned no recordset");	else if ($d != $rs->fields[0]) Err("SQLDate 1 failed expected: <br>act:$d <br>sql:".$rs->fields[0]);		$date = $db->SQLDate('d-m-M-Y-\QQ h:i:s A',$db->DBDate("1974-02-25"));	$sql = "SELECT $date from ADOXYZ";	print "<p>Test SQLDate: ".htmlspecialchars($sql)."</p>";	$db->debug=1;	$rs = $db->SelectLimit($sql,1);	$ts = ADOConnection::UnixDate('1974-02-25');	$d = date('d-m-M-Y-',$ts).'Q'.(ceil(date('m',$ts)/3.0)).date(' h:i:s A',$ts);	if (!$rs) {		Err("SQLDate query returned no recordset");		echo $db->ErrorMsg(),'<br>';	} else if ($d != reset($rs->fields)) {		Err("SQLDate 2 failed expected: <br>act:$d <br>sql:".$rs->fields[0].' <br>'.$db->ErrorMsg());	}			print "<p>Test Filter</p>";	$db->debug = 1;		$rs = $db->SelectLimit('select * from ADOXYZ where id < 3 order by id');		$rs = RSFilter($rs,'do_strtolower');	if (trim($rs->fields[1]) != 'caroline'  && trim($rs->fields[2]) != 'miranda') {		err('**** RSFilter failed');		print_r($rs->fields);	}		rs2html($rs);			$db->debug=1;			print "<p>Test Replace</p>";		$ret = $db->Replace('adoxyz', 		array('id'=>1,'firstname'=>'Caroline','lastname'=>'Miranda'),		array('id'),		$autoq = true);	if (!$ret) echo "<p>Error in replacing existing record</p>";	else {		$saved = $db->debug;		$db->debug = 0;		$savec = $ADODB_COUNTRECS;		$ADODB_COUNTRECS = true;		$rs = $db->Execute('select * FROM ADOXYZ where id=1');		$db->debug = $saved;		if ($rs->RecordCount() != 1) {			$cnt = $rs->RecordCount();			rs2html($rs);			print "<b>Error - Replace failed, count=$cnt</b><p>";		}		$ADODB_COUNTRECS = $savec;	}	$ret = $db->Replace('adoxyz', 		array('id'=>1000,'firstname'=>'Harun','lastname'=>'Al-Rashid'),		array('id','firstname'),		$autoq = true);	if ($ret != 2) print "<b>Replace failed: </b>";	print "test A return value=$ret (2 expected) <p>";		$ret = $db->Replace('adoxyz', 		array('id'=>1000,'firstname'=>'Sherazade','lastname'=>'Al-Rashid'),		'id',		$autoq = true);	if ($ret != 1) 		if ($db->dataProvider == 'ibase' && $ret == 2);		else print "<b>Replace failed: </b>";	print "test B return value=$ret (1 or if ibase then 2 expected) <p>";		print "<h3>rs2rs Test</h3>";		$rs = $db->Execute('select * from adoxyz where id>= 1 order by id');	$rs = $db->_rs2rs($rs);	$rs->valueX = 'X';	$rs->MoveNext();	$rs = $db->_rs2rs($rs);	if (!isset($rs->valueX)) err("rs2rs does not preserve array recordsets");	if (reset($rs->fields) != 1) err("rs2rs does not move to first row: id=".reset($rs->fields));	/////////////////////////////////////////////////////////////	include_once('../pivottable.inc.php');	print "<h3>Pivot Test</h3>";	$db->debug=true; 	$sql = PivotTableSQL( 		$db,  			# adodb connection 		'adoxyz',  		# tables		'firstname',	# row fields		'lastname',		# column fields 		false,			# join		'ID', 			# sum		'Sum ',			# label for sum		'sum',			# aggregate function		true	);	$rs = $db->Execute($sql);	if ($rs) rs2html($rs);	else Err("Pivot sql error");		$pear = true; //true;	$db->debug=false;		if ($pear) {	// PEAR TESTS BELOW	$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		include_once "PEAR.php";	$rs = $db->query('select * from adoxyz where id>0 and id<10 order by id');		$i = 0;	if ($rs && !$rs->EOF) {		while ($arr = $rs->fetchRow()) {			$i++;			//print "$i ";			if ($arr[0] != $i) {				print_r($arr);				print "<p><b>PEAR DB emulation error 1.</b></p>";				$pear = false;				break;			}		}		$rs->Close();	}			if ($i != $db->GetOne('select count(*) from adoxyz where id>0 and id<10')) {		print "<p><b>PEAR DB emulation error 1.1 EOF ($i)</b></p>";		$pear = false;	}		$rs = $db->limitQuery('select * from adoxyz where id>0 order by id',$i=3,$top=3);	$i2 = $i;	if ($rs && !$rs->EOF) {		while (!is_object($rs->fetchInto($arr))) {			$i2++;				//			print_r($arr);	//		print "$i ";print_r($arr);			if ($arr[0] != $i2) {				print "<p><b>PEAR DB emulation error 2.</b></p>";				$pear = false;				break;			}		}		$rs->Close();	}	if ($i2 != $i+$top) {		print "<p><b>PEAR DB emulation error 2.1 EOF (correct=$i+$top, actual=$i2)</b></p>";		$pear = false;	}	}	if ($pear) print "<p>PEAR DB emulation passed.</p>";	flush();		$rs = $db->SelectLimit("select ".$db->sysDate." from adoxyz",1);	$date = $rs->fields[0];	if (!$date) Err("Bad sysDate");	else {		$ds = $db->UserDate($date,"d m Y");		if ($ds != date("d m Y")) Err("Bad UserDate: ".$ds.' expected='.date("d m Y"));		else echo "Passed UserDate: $ds<p>";	}	$db->debug=1;	if ($db->dataProvider == 'oci8') 		$rs = $db->SelectLimit("select to_char(".$db->sysTimeStamp.",'YYYY-MM-DD HH24:MI:SS') from adoxyz",1);	else 		$rs = $db->SelectLimit("select ".$db->sysTimeStamp." from adoxyz",1);	$date = $rs->fields[0];	if (!$date) Err("Bad sysTimeStamp");	else {		$ds = $db->UserTimeStamp($date,"H \\h\\r\\s-d m Y");		if ($ds != date("H \\h\\r\\s-d m Y")) Err("Bad UserTimeStamp: ".$ds.", correct is ".date("H \\h\\r\\s-d m Y"));		else echo "Passed UserTimeStamp: $ds<p>";				$date = 100;		$ds = $db->UserTimeStamp($date,"H \\h\\r\\s-d m Y");		$ds2 = date("H \\h\\r\\s-d m Y",$date);		if ($ds != $ds2) Err("Bad UserTimeStamp 2: $ds: $ds2");		else echo "Passed UserTimeStamp 2: $ds<p>";	}	flush();		if ($db->hasTransactions) {		$db->debug=1;		echo "<p>Testing StartTrans CompleteTrans</p>";		$db->raiseErrorFn = false;				$db->SetTransactionMode('SERIALIZABLE');		$db->StartTrans();		$rs = $db->Execute('select * from notable');			$db->StartTrans();				$db->BeginTrans();			$db->Execute("update ADOXYZ set firstname='Carolx' where id=1");				$db->CommitTrans();			$db->CompleteTrans();		$rez = $db->CompleteTrans();		$db->SetTransactionMode('');		$db->debug=0;		if ($rez !== false) {			if (is_null($rez)) Err("Error: _transOK not modified");			else Err("Error: CompleteTrans (1) should have failed");		} else {			$name = $db->GetOne("Select firstname from ADOXYZ where id=1");			if ($name == "Carolx") Err("Error: CompleteTrans (2) should have failed");			else echo "<p> -- Passed StartTrans test1 - rolling back</p>";		}				$db->StartTrans();			$db->BeginTrans();		$db->Execute("update ADOXYZ set firstname='Carolx' where id=1");			$db->RollbackTrans();		$rez = $db->CompleteTrans();		if ($rez !== true) Err("Error: CompleteTrans (1) should have succeeded");		else {			$name = $db->GetOne("Select firstname from ADOXYZ where id=1");			if (trim($name) != "Carolx") Err("Error: CompleteTrans (2) should have succeeded, returned name=$name");			else echo "<p> -- Passed StartTrans test2 - commiting</p>";		}	}	flush();	$saved = $db->debug;	$db->debug=1;	$cnt = _adodb_getcount($db, 'select * from ADOXYZ where firstname in (select firstname from ADOXYZ)');	echo "<b>Count=</b> $cnt";	$db->debug=$saved;		global $TESTERRS;	$debugerr = true;		global $ADODB_LANG;$ADODB_LANG = 'fr';	$db->debug = false;	$TESTERRS = 0;	$db->raiseErrorFn = 'adodb_test_err';	global $ERRNO; // from adodb_test_err	$db->Execute('select * from nowhere');	$metae = $db->MetaError($ERRNO);	if ($metae !== DB_ERROR_NOSUCHTABLE) print "<p><b>MetaError=".$metae." wrong</b>, should be ".DB_ERROR_NOSUCHTABLE."</p>";	else print "<p>MetaError ok (".DB_ERROR_NOSUCHTABLE."): ".$db->MetaErrorMsg($metae)."</p>";	if ($TESTERRS != 1) print "<b>raiseErrorFn select nowhere failed</b><br>";	$rs = $db->Execute('select * from adoxyz');	if ($debugerr) print " Move";	$rs->Move(100);	$rs->_queryID = false;	if ($debugerr) print " MoveNext";	$rs->MoveNext();	if ($debugerr) print " $rs=false";	$rs = false;	flush();		print "<p>SetFetchMode() tests</p>";	$db->SetFetchMode(ADODB_FETCH_ASSOC);	$rs = $db->SelectLimit('select firstname from adoxyz',1);	if (!isset($rs->fields['firstname'])) Err("BAD FETCH ASSOC");		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$rs = $db->SelectLimit('select firstname from adoxyz',1);	//var_dump($rs->fields);	if (!isset($rs->fields['firstname'])) Err("BAD FETCH ASSOC");		$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;		$db->SetFetchMode(ADODB_FETCH_NUM);	$rs = $db->SelectLimit('select firstname from adoxyz',1);	if (!isset($rs->fields[0])) Err("BAD FETCH NUM");		flush();		print "<p>Test MetaTables again with SetFetchMode()</p>";	$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;	$db->SetFetchMode(ADODB_FETCH_ASSOC);	print_r($db->MetaTables());	print "<p>";		////////////////////////////////////////////////////////////////////		print "<p>Testing Bad Connection</p>";	flush();		if (true || PHP_VERSION < 5)  {		if ($db->dataProvider == 'odbtp') $db->databaseType = 'odbtp';		$conn = NewADOConnection($db->databaseType);		$conn->raiseErrorFn = 'adodb_test_err';		if (1) $conn->PConnect('abc','baduser','badpassword');		if ($TESTERRS == 2) print "raiseErrorFn tests passed<br>";		else print "<b>raiseErrorFn tests failed ($TESTERRS)</b><br>";				flush();	}	////////////////////////////////////////////////////////////////////		global $nocountrecs;		if (isset($nocountrecs) && $ADODB_COUNTRECS) err("Error: \$ADODB_COUNTRECS is set");	if (empty($nocountrecs) && $ADODB_COUNTRECS==false) err("Error: \$ADODB_COUNTRECS is not set");	flush();?>	</p>	<table width=100% ><tr><td bgcolor=beige>&nbsp;</td></tr></table>	</p></form><?php	if ($rs1) $rs1->Close();	if ($rs2) $rs2->Close();	if ($rs) $rs->Close();	$db->Close();		if ($db->transCnt != 0) Err("Error in transCnt=$db->transCnt (should be 0)");			printf("<p>Total queries=%d; total cached=%d</p>",$EXECS+$CACHED, $CACHED);	flush();}function adodb_test_err($dbms, $fn, $errno, $errmsg, $p1=false, $p2=false){global $TESTERRS,$ERRNO;	$ERRNO = $errno;	$TESTERRS += 1;	print "<i>** $dbms ($fn): errno=$errno &nbsp; errmsg=$errmsg ($p1,$p2)</i><br>";}//--------------------------------------------------------------------------------------@set_time_limit(240); // increase timeoutinclude("../tohtml.inc.php");include("../adodb.inc.php");include("../rsfilter.inc.php");/* White Space Check */if (isset($_SERVER['argv'][1])) {	//print_r($_SERVER['argv']);	$_GET[$_SERVER['argv'][1]] = 1;}if (@$_SERVER['COMPUTERNAME'] == 'TIGRESS') {	CheckWS('mysqlt');	CheckWS('postgres');	CheckWS('oci8po');		CheckWS('firebird');	CheckWS('sybase');	if (!ini_get('safe_mode')) CheckWS('informix');	CheckWS('ado_mssql');	CheckWS('ado_access');	CheckWS('mssql');		CheckWS('vfp');	CheckWS('sqlanywhere');	CheckWS('db2');	CheckWS('access');	CheckWS('odbc_mssql');	CheckWS('firebird15');	//	CheckWS('oracle');	CheckWS('proxy');	CheckWS('fbsql');	print "White Space Check complete<p>";}if (sizeof($_GET) == 0) $testmysql = true;foreach($_GET as $k=>$v)  {	//global $$k;	$$k = $v;}	if (strpos(PHP_VERSION,'5') === 0) {	//$testaccess=1;	//$testmssql = 1;	//$testsqlite=1;}?><html><title>ADODB Testing</title><body bgcolor=white><H1>ADODB Test</H1>This script tests the following databases: Interbase, Oracle, Visual FoxPro, Microsoft Access (ODBC and ADO), MySQL, MSSQL (ODBC, native, ADO). There is also support for Sybase, PostgreSQL.</p>For the latest version of ADODB, visit <a href=http://adodb.sourceforge.net/>adodb.sourceforge.net</a>.</p>Test <a href=test4.php>GetInsertSQL/GetUpdateSQL</a> &nbsp; 	<a href=testsessions.php>Sessions</a> &nbsp;	<a href=testpaging.php>Paging</a> &nbsp;	<a href=test-perf.php>Perf Monitor</a><p><?phpinclude('./testdatabases.inc.php');echo "<br>vers=",ADOConnection::Version();include_once('../adodb-time.inc.php');if (isset($_GET['time'])) adodb_date_test();?><p><i>ADODB Database Library  (c) 2000-2006 John Lim. All rights reserved. Released under BSD and LGPL, PHP <?php echo PHP_VERSION ?>.</i></p></body></html>

⌨️ 快捷键说明

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