<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >ibase_set_event_handler</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="Firebird/InterBase Functions" HREF="ref.ibase.html"><LINK REL="PREVIOUS" TITLE="ibase_service_detach" HREF="function.ibase-service-detach.html"><LINK REL="NEXT" TITLE="ibase_timefmt" HREF="function.ibase-timefmt.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.ibase-service-detach.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.ibase-timefmt.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.ibase-set-event-handler" ></A >ibase_set_event_handler</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN57606" ></A ><P > (PHP 5)</P >ibase_set_event_handler -- Register a callback function to be called when events are posted </DIV ><DIV CLASS="refsect1" ><A NAME="AEN57609" ></A ><H2 >Description</H2 >resource <B CLASS="methodname" >ibase_set_event_handler</B > ( callback event_handler, string event_name1 [, string event_name2 [, string ...]] )<BR ></BR >resource <B CLASS="methodname" >ibase_set_event_handler</B > ( resource connection, callback event_handler, string event_name1 [, string event_name2 [, string ...]] )<BR ></BR ><P > This function registers a PHP user function as event handler for the specified events. The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database. The callback must return <TT CLASS="constant" ><B >FALSE</B ></TT > if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments. </P ><P > <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN57647" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br /></font><font color="#007700">function </font><font color="#0000BB">event_handler</font><font color="#007700">(</font><font color="#0000BB">$event_name</font><font color="#007700">, </font><font color="#0000BB">$link</font><font color="#007700">) <br />{<br /> if (</font><font color="#0000BB">$event_name</font><font color="#007700">==</font><font color="#DD0000">"NEW ORDER"</font><font color="#007700">) {<br /> </font><font color="#FF8000">// process new order<br /> </font><font color="#0000BB">ibase_query</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"UPDATE orders SET status='handled'"</font><font color="#007700">);<br /> } else if (</font><font color="#0000BB">$event_name</font><font color="#007700">==</font><font color="#DD0000">"DB_SHUTDOWN"</font><font color="#007700">) {<br /> </font><font color="#FF8000">// free event handler <br /> </font><font color="#007700">return </font><font color="#0000BB">false</font><font color="#007700">;<br /> }<br />}<br /><br /></font><font color="#0000BB">ibase_set_event_handler</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"event_handler"</font><font color="#007700">, </font><font color="#DD0000">"NEW_ORDER"</font><font color="#007700">, </font><font color="#DD0000">"DB_SHUTDOWN"</font><font color="#007700">);<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > The return value is an event resource. This resource can be used to free the event handler using <A HREF="function.ibase-free-event-handler.html" ><B CLASS="function" >ibase_free_event_handler()</B ></A >. </P ><P > See also <A HREF="function.ibase-free-event-handler.html" ><B CLASS="function" >ibase_free_event_handler()</B ></A > and <A HREF="function.ibase-wait-event.html" ><B CLASS="function" >ibase_wait_event()</B ></A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.ibase-service-detach.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.ibase-timefmt.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >ibase_service_detach</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.ibase.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >ibase_timefmt</TD ></TR ></TABLE ></DIV ></BODY ></HTML >