Dear all,<br><br>Thanks to all of you for your kind-hearted answering my question. Thank you very much.<br>Now, I am building serweb in openser. So, the client can register to become the member of communication in my openser that I have built.<br>1. Can "serweb" (from iptel.org) be used in openser server for building the webserver of the openser server? Or openser has it`s own webserver except "serweb"?<br>2.When I build serweb (from iptel.org), I have some problems. I do hope anybody can help me and give me a suggestion. Please..<br>The error message that I got from client browser is<br>  <div class="MsoNormal"><b>Fatal error</b>: Failed opening required 'var/www/phplib/db_mysql.inc' (include_path='.:/usr/share/pear') in <b>/var/www/html/serweb/user_interface/prepend.php</b> on line <b>23<o:p></o:p></b></div>    <div class="MsoPlainText"><span style=""><span style="font-weight: bold;">The contain of prepend.php that shows line 23 is </span><br></span></div><div
 class="MsoPlainText"><span style=""></span>require($_PHPLIB["libdir"] . "db_mysql.inc");<span style="">&nbsp; </span>/* Change this to match your database. */</div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">I don`t know what is wrong. I do hope anybody can give me a suggestion. Please help me..Please. Thanks</span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Regards,</span></div><div class="MsoPlainText"><br><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;"></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Ferianto<br></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Note:<br></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">This is the contain of
 db_mysql.inc that I have configured <br></span></div><div class="MsoPlainText">  </div><div class="MsoPlainText">&lt;?php</div>  <div class="MsoPlainText">/*</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>* Session Management for PHP3</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>*</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>* Copyright (c) 1998-2000 NetUSE AG</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>*<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Boris Erdmann, Kristian Koehntopp</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>*</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>* $Id: db_mysql.inc,v 1.1.1.1 2002/09/04 18:19:57 kozlik Exp $</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>*</div>  <div class="MsoPlainText"><span style="">&nbsp;</span>*/ </div>  <div
 class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText">class DB_Sql {</div>  <div class="MsoPlainText"><span style="">&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: connection parameters */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Host<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= "localhost";</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Database = "openser";</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $User<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= "openser";</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Password = "openserrw";</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: configuration parameters */</div>  <div class="MsoPlainText"><span style="">&nbsp;
 </span>var $Auto_Free<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= 0;<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>## Set to 1 for automatic mysql_free_result()</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Debug<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 0;<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>## Set to 1 for debugging messages.</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Halt_On_Error = "yes"; ## "yes" (halt with message), "no" (ignore errors quietly), "report" (ignore errror, but spit a warning)</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Seq_Table<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= "db_sequence";</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: result array and current row number */</div>  <div class="MsoPlainText"><span
 style="">&nbsp; </span>var $Record<span style="">&nbsp;&nbsp; </span>= array();</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Row;</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: current error number and error text */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Errno<span style="">&nbsp;&nbsp;&nbsp; </span>= 0;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Error<span style="">&nbsp;&nbsp;&nbsp; </span>= "";</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: this is an api revision, not a CVS revision. */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $type<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= "mysql";</div>  <div class="MsoPlainText"><span
 style="">&nbsp; </span>var $revision = "1.2";</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* private: link and query handles */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Link_ID<span style="">&nbsp; </span>= 0;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>var $Query_ID = 0;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span></div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: constructor */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function DB_Sql($query = "") {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;query($query);</div>  <div
 class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: some trivial reporting */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function link_id() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $this-&gt;Link_ID;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function query_id() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $this-&gt;Query_ID;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;
 </span>/* public: connection management */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function connect($Database = "", $Host = "", $User = "", $Password = "") {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>/* Handle defaults */</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ("" == $Database)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$Database = $this-&gt;Database;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ("" == $Host)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$Host<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>= $this-&gt;Host;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ("" == $User)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$User<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>=
 $this-&gt;User;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ("" == $Password)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$Password = $this-&gt;Password;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>/* establish connection, select database */</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ( 0 == $this-&gt;Link_ID ) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Link_ID=mysql_pconnect($Host, $User, $Password);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!$this-&gt;Link_ID) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$this-&gt;halt("pconnect($Host, $User, \$Password) failed.");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!@mysql_select_db($Database,$this-&gt;Link_ID)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("cannot use database ".$Database);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;
 </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $this-&gt;Link_ID;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: discard the query result */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function free() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>@mysql_free_result($this-&gt;Query_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Query_ID = 0;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: perform a query */</div>  <div class="MsoPlainText"><span
 style="">&nbsp; </span>function query($Query_String) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>/* No empty queries, please, since PHP4 chokes on them. */</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($Query_String == "")</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* The empty query string is passed on from the constructor,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* when calling the class without a query, e.g. in situations</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* like these: '$db = new DB_Sql_Subclass;'</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><!--[if
 !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$this-&gt;connect()) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0; /* we already complained in connect() about that. */</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>};</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span># New query, discard previous result.</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($this-&gt;Query_ID) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;free();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($this-&gt;Debug)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>printf("Debug: query = %s&lt;br&gt;\n", $Query_String);</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Query_ID = @mysql_query($Query_String,$this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Row<span style="">&nbsp;&nbsp; </span>= 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Errno = mysql_errno();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Error = mysql_error();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$this-&gt;Query_ID) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$this-&gt;halt("Invalid SQL: ".$Query_String);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span># Will return nada if it fails. That's fine.</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $this-&gt;Query_ID;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: walk result set */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function next_record() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$this-&gt;Query_ID) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$this-&gt;halt("next_record called with no query pending.");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Record = @mysql_fetch_array($this-&gt;Query_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Row<span style="">&nbsp;&nbsp; </span>+= 1;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Errno<span style="">&nbsp; </span>= mysql_errno();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Error<span style="">&nbsp; </span>= mysql_error();</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$stat = is_array($this-&gt;Record);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$stat &amp;&amp; $this-&gt;Auto_Free) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;free();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $stat;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: position in result set */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function seek($pos = 0) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$status = @mysql_data_seek($this-&gt;Query_ID, $pos);</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($status)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Row = $pos;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>else {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("seek($pos) failed: result has ".$this-&gt;num_rows()." rows.");</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* half assed attempt to save the day, </div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* but do not consider this documented or even</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* desireable behaviour.</div>  <div class="MsoPlainText"><span
 style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>@mysql_data_seek($this-&gt;Query_ID, $this-&gt;num_rows());</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Row = $this-&gt;num_rows();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return 1;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: table locking */</div>  <div class="MsoPlainText"><span style="">&nbsp;
 </span>function lock($table, $mode = "write") {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$query = "lock tables ";</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (is_array($table)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>while (list($key,$value) = each($table)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!is_int($key)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp; </span>// texts key are "read", "read local", "write", "low priority write"</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$query .= "$value $key, ";</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else {</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$query .= "$value $mode, ";</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$query = substr($query,0,-2);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>} else {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$query .= "$table $mode";</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$res = $this-&gt;query($query);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!$res) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$this-&gt;halt("lock() failed.");</div>  <div class="MsoPlainText"><span style="">&nbsp;</span><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $res;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function unlock() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$res = $this-&gt;query("unlock tables");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$res) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("unlock() failed.");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span
 style="">&nbsp;&nbsp;&nbsp; </span>return $res;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: evaluate the result (size, width) */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function affected_rows() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return @mysql_affected_rows($this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function num_rows() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return @mysql_num_rows($this-&gt;Query_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div
 class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function num_fields() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return @mysql_num_fields($this-&gt;Query_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: shorthand notation */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function nf() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $this-&gt;num_rows();</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function np() {</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>print $this-&gt;num_rows();</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function f($Name) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (isset($this-&gt;Record[$Name])) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return $this-&gt;Record[$Name];</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function p($Name) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (isset($this-&gt;Record[$Name]))
 {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>print $this-&gt;Record[$Name];</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: sequence numbers */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function nextid($seq_name) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;connect();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($this-&gt;lock($this-&gt;Seq_Table)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* get sequence number (locked) and increment */</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$q<span style="">&nbsp; </span>= sprintf("select nextid from %s where seq_name = '%s'",</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Seq_Table,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$seq_name);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$id<span style="">&nbsp; </span>= @mysql_query($q, $this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res = @mysql_fetch_array($id);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* No current value, make one */</div>  <div
 class="MsoPlainText"><span style="">&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;</span>if (!is_array($res)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$currentid = 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$q = sprintf("insert into %s values('%s', %s)",</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Seq_Table,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$seq_name,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$currentid);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$id =
 @mysql_query($q, $this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$currentid = $res["nextid"];</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$nextid = $currentid + 1;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$q = sprintf("update %s set nextid = '%s' where seq_name = '%s'",</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;Seq_Table,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$nextid,</div>  <div class="MsoPlainText"><span
 style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$seq_name);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$id = @mysql_query($q, $this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;unlock();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>} else {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("cannot lock ".$this-&gt;Seq_Table." - has it been created?");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $nextid;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if
 !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: return table metadata */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function metadata($table = "", $full = false) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$count = 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$id<span style="">&nbsp;&nbsp;&nbsp; </span>= 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$res<span style="">&nbsp;&nbsp; </span>= array();</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>/*</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Due to compatibility problems with Table we changed the behavior</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;
 </span>* of metadata();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* depending on $full, metadata returns the following values:</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;</span>* - full is false (default):</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* $result[]:</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["table"]<span style="">&nbsp; </span>table name</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["name"]<span style="">&nbsp;&nbsp; </span>field name</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["type"]<span style="">&nbsp;&nbsp; </span>field
 type</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["len"]<span style="">&nbsp;&nbsp;&nbsp; </span>field length</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["flags"]<span style="">&nbsp; </span>field flags</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* - full is true</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* $result[]:</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>["num_fields"] number of metadata records</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["table"]<span style="">&nbsp; </span>table name</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["name"]<span style="">&nbsp;&nbsp; </span>field name</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["type"]<span style="">&nbsp;&nbsp; </span>field type</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["len"]<span style="">&nbsp;&nbsp;&nbsp; </span>field length</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>[0]["flags"]<span style="">&nbsp; </span>field flags</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>["meta"][field name]<span style="">&nbsp; </span>index of field named "field name"</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span
 style="">&nbsp;&nbsp; </span>This last one could be used if you have a field name, but no index.</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<span style="">&nbsp;&nbsp; </span>Test:<span style="">&nbsp; </span>if (isset($result['meta']['myfield'])) { ...</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>// if no $table specified, assume that we are working with a query</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>// result</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($table) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;connect();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$id =
 @mysql_list_fields($this-&gt;Database, $table);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!$id) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("Metadata query failed.");</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return false;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>} else {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$id = $this-&gt;Query_ID; </div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!$id) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$this-&gt;halt("No query specified.");</div>  <div class="MsoPlainText"><span
 style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return false;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;</span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$count = @mysql_num_fields($id);</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>// made this IF due to performance (one if is faster than $count if's)</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if (!$full) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>for ($i=0; $i&lt;$count; $i++) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["table"] =
 @mysql_field_table ($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["name"]<span style="">&nbsp; </span>= @mysql_field_name<span style="">&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["type"]<span style="">&nbsp; </span>= @mysql_field_type<span style="">&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["len"]<span style="">&nbsp;&nbsp; </span>= @mysql_field_len<span style="">&nbsp;&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["flags"] = @mysql_field_flags ($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>} else { // full</div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res["num_fields"]= $count;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>for ($i=0; $i&lt;$count; $i++) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["table"] = @mysql_field_table ($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["name"]<span style="">&nbsp; </span>= @mysql_field_name<span style="">&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["type"]<span style="">&nbsp; </span>= @mysql_field_type<span style="">&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["len"]<span
 style="">&nbsp;&nbsp; </span>= @mysql_field_len<span style="">&nbsp;&nbsp; </span>($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res[$i]["flags"] = @mysql_field_flags ($id, $i);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$res["meta"][$res[$i]["name"]] = $i;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>// free the result only if we were called on a table</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($table) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>@mysql_free_result($id);</div>  <div class="MsoPlainText"><span
 style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $res;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* public: find available table names */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function table_names() {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;connect();</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$h = @mysql_query("show tables", $this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$i = 0;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>while ($info = @mysql_fetch_row($h)) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$return[$i]["table_name"]<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= $info[0];</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$return[$i]["tablespace_name"] = $this-&gt;Database;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$return[$i]["database"]<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= $this-&gt;Database;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$i++;</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>}</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>@mysql_free_result($h);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>return $return;</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if
 !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>/* private: error handling */</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function halt($msg) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Error = @mysql_error($this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;Errno = @mysql_errno($this-&gt;Link_ID);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($this-&gt;Halt_On_Error == "no")</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return;</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>$this-&gt;haltmsg($msg);</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div
 class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>if ($this-&gt;Halt_On_Error != "report")</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>die("Session halted.");</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText"><span style="">&nbsp; </span>function haltmsg($msg) {</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>printf("&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;b&gt;Database error:&lt;/b&gt; %s&lt;br&gt;\n", $msg);</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp; </span>printf("&lt;b&gt;MySQL Error&lt;/b&gt;: %s (%s)&lt;br&gt;\n",</div>  <div class="MsoPlainText"><span style="">&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;</span>$this-&gt;Errno,</div>  <div class="MsoPlainText"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>$this-&gt;Error);</div>  <div class="MsoPlainText"><span style="">&nbsp; </span>}</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>  <div class="MsoPlainText">}</div>  <div class="MsoPlainText">?&gt;</div>  <div class="MsoPlainText"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></div>    <p>&#32;
                <hr size=1>Yahoo! Messenger with Voice. <a href="http://us.rd.yahoo.com/mail_us/taglines/postman1/*http://us.rd.yahoo.com/evt=39663/*http://voice.yahoo.com">Make PC-to-Phone Calls</a> to the US (and 30+ countries) for 2¢/min or less.