Subversion Repositories svnkaklik

Rev

Details | Last modification | View Log

Rev Author Line No. Line
36 kaklik 1
<?php
2
/** 
3
 * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
4
 * Released under both BSD license and Lesser GPL library license. 
5
  Whenever there is any discrepancy between the two licenses, 
6
  the BSD license will take precedence. 
7
 *
8
 * Set tabs to 4 for best viewing.
9
 * 
10
 * Latest version is available at http://php.weblogs.com
11
 * 
12
*/
13
include_once('PEAR.php');
14
 
15
if (!defined('ADODB_ERROR_HANDLER')) define('ADODB_ERROR_HANDLER','ADODB_Error_PEAR');
16
 
17
/*
18
* Enabled the following if you want to terminate scripts when an error occurs
19
*/
20
//PEAR::setErrorHandling (PEAR_ERROR_DIE);
21
 
22
/*
23
* Name of the PEAR_Error derived class to call.
24
*/
25
if (!defined('ADODB_PEAR_ERROR_CLASS')) define('ADODB_PEAR_ERROR_CLASS','PEAR_Error');
26
 
27
/*
28
* Store the last PEAR_Error object here
29
*/
30
global $ADODB_Last_PEAR_Error; $ADODB_Last_PEAR_Error = false;
31
 
32
  /**
33
* Error Handler with PEAR support. This will be called with the following params
34
*
35
* @param $dbms		the RDBMS you are connecting to
36
* @param $fn		the name of the calling function (in uppercase)
37
* @param $errno		the native error number from the database 
38
* @param $errmsg	the native error msg from the database
39
* @param $p1		$fn specific parameter - see below
40
* @param $P2		$fn specific parameter - see below
41
	*/
42
function ADODB_Error_PEAR($dbms, $fn, $errno, $errmsg, $p1=false, $p2=false)
43
{
44
global $ADODB_Last_PEAR_Error;
45
 
46
	if (error_reporting() == 0) return; // obey @ protocol
47
	switch($fn) {
48
	case 'EXECUTE':
49
		$sql = $p1;
50
		$inputparams = $p2;
51
 
52
		$s = "$dbms error: [$errno: $errmsg] in $fn(\"$sql\")";
53
		break;
54
 
55
	case 'PCONNECT':
56
	case 'CONNECT':
57
		$host = $p1;
58
		$database = $p2;
59
 
60
		$s = "$dbms error: [$errno: $errmsg] in $fn('$host', ?, ?, '$database')";
61
		break;
62
 
63
	default:
64
		$s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)";
65
		break;
66
	}
67
 
68
	$class = ADODB_PEAR_ERROR_CLASS;
69
	$ADODB_Last_PEAR_Error = new $class($s, $errno,
70
		$GLOBALS['_PEAR_default_error_mode'],
71
		$GLOBALS['_PEAR_default_error_options'], 
72
		$errmsg);
73
 
74
	//print "<p>!$s</p>";
75
}
76
 
77
/**
78
* Returns last PEAR_Error object. This error might be for an error that
79
* occured several sql statements ago.
80
*/
81
function &ADODB_PEAR_Error()
82
{
83
global $ADODB_Last_PEAR_Error;
84
 
85
	return $ADODB_Last_PEAR_Error;
86
}
87
 
88
?>