ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:userguide:error_handling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
userguide:error_handling [2015/11/30 02:07] – [Logging Error Messages] mnewnhamv5:userguide:error_handling [2018/06/27 16:18] (current) – function names starting with lowercase (#430) dregad
Line 5: Line 5:
  
 ===== PHP set_error_handler ===== ===== PHP set_error_handler =====
-Once the PHP set_error_handler is used to override the default error handling, then the '@' PHP value ceases to be honored, and any SQL statement execution that fails will then produce a fatal error in the statement. We must then implement an error handling layer to trap the error and process it as the required. The first way to do that is by the use of the ''adodb-errorhandler.inc'' file.  +Once the PHP set_error_handler is used to override the default error handling, then the '@' PHP value ceases to be honored, and any SQL statement execution that fails will then produce a fatal error in the statement. We must then implement an error handling layer to trap the error and process it as the required. The first way to do that is by the use of the ''adodb-errorhandler.inc'' file. 
----------------------------------------+ 
 +--------------------------------------------------- 
 <WRAP right box round> <WRAP right box round>
 == See Also == == See Also ==
-[[reference:metaerror|Meta Error Handling]]+[[v5:reference:connection:metaerror|Meta Error Handling]]
 </WRAP> </WRAP>
 ===== adodb-errorhandler.inc.php ===== ===== adodb-errorhandler.inc.php =====
Line 41: Line 43:
    
 </code> </code>
- +
  
 ===== Override Error Trap/Resume ===== ===== Override Error Trap/Resume =====
Line 65: Line 67:
 set_error_handler('ignoreErrorHandler'); set_error_handler('ignoreErrorHandler');
   
-$db->Execute('DROP INDEX index_that_might_not_exist');+$db->execute('DROP INDEX index_that_might_not_exist');
   
 /* /*
Line 73: Line 75:
 $db->raiseErrorFn = $saveErrorFn; $db->raiseErrorFn = $saveErrorFn;
  
 +</code>
 +
 +===== Using A Class Method =====
 +<code php>
 +class c
 +{
 + function e()
 + {
 + print "ERROR TRAP";
 + }
 +}
 +
 +$c = new c;
 +
 +$db->raiseErrorFn = array($c,'e');
 </code> </code>
  
Line 107: Line 124:
 try  try 
 {    {   
-    $db = NewADOConnection("oci8://scott:bad-password@mytns/");   +    $db = newADOConnection("oci8://scott:bad-password@mytns/");   
  
  
Line 138: Line 155:
  
  
-$c = NewADOConnection('mysql'); +$c = newADOConnection('mysql'); 
-$c->PConnect('localhost','root','','northwind');+$c->pConnect('localhost','root','','northwind');
  
-$rs=$c->Execute('select * from productsz'); ## invalid table productsz+$rs=$c->execute('select * from productsz'); ## invalid table productsz
  
 if ($rs)  if ($rs) 
Line 163: Line 180:
 include('tohtml.inc.php'); include('tohtml.inc.php');
  
-$c = NewADOConnection('mysql'); +$c = newADOConnection('mysql'); 
-$c->PConnect('localhost','root','','northwind');+$c->pConnect('localhost','root','','northwind');
  
-$rs=$c->Execute('select * from productsz'); #invalid table productsz');+$rs=$c->execute('select * from productsz'); #invalid table productsz');
  
 if ($rs)  if ($rs) 
Line 191: Line 208:
 ===== MetaError and MetaErrMsg ===== ===== MetaError and MetaErrMsg =====
  
-If you need error messages that work across multiple databases, then use [[reference:metaerror|MetaError()]], which returns a virtualized error number, based on PEAR DB's error number system, and [[reference:metaerrmsg|MetaErrMsg()]].+If you need error messages that work across multiple databases, then use [[v5:reference:connection:metaerror|MetaError()]], which returns a virtualized error number, based on PEAR DB's error number system, and [[v5:reference:connection:metaerrormsg|MetaErrMsg()]].
  
 ===== Error Messages ===== ===== Error Messages =====
  
-Error messages are outputted using the static method ADOConnnection::outp($msg,$newline=true). By default, it sends the messages to the client. You can override this to perform error-logging.+Error messages are outputted using the static method  
 + 
 +  ADOConnnection::outp($msg,$newline=true).  
 +   
 +By default, it sends the messages to the standard output. You can override this to perform error logging.
v5/userguide/error_handling.1448845631.txt.gz · Last modified: 2017/04/21 11:39 (external edit)