source: tmp/version-2_5-test/data/module/adodb/adodb-errorpear.inc.php @ 18609

Revision 18609, 2.2 KB checked in by kajiwara, 14 years ago (diff)

正式版にナイトリービルド版をマージしてみるテスト

Line 
1<?php
2/**
3 * @version v4.992 10 Nov 2009 (c) 2000-2009 John Lim (jlim#natsoft.com). 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
15if (!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*/
25if (!defined('ADODB_PEAR_ERROR_CLASS')) define('ADODB_PEAR_ERROR_CLASS','PEAR_Error');
26
27/*
28* Store the last PEAR_Error object here
29*/
30global $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    */
42function ADODB_Error_PEAR($dbms, $fn, $errno, $errmsg, $p1=false, $p2=false)
43{
44global $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*/
81function &ADODB_PEAR_Error()
82{
83global $ADODB_Last_PEAR_Error;
84
85    return $ADODB_Last_PEAR_Error;
86}
87       
88?>
Note: See TracBrowser for help on using the repository browser.