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=""> </span>/* Change this to match your database. */</div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: "Times New Roman";">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: "Times New Roman";">Regards,</span></div><div class="MsoPlainText"><br><span style="font-size: 12pt; font-family: "Times New Roman";"></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: "Times New Roman";">Ferianto<br></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: "Times New Roman";">Note:<br></span></div><div class="MsoPlainText"><span style="font-size: 12pt; font-family: "Times New Roman";">This is the contain of
db_mysql.inc that I have configured <br></span></div><div class="MsoPlainText"> </div><div class="MsoPlainText"><?php</div> <div class="MsoPlainText">/*</div> <div class="MsoPlainText"><span style=""> </span>* Session Management for PHP3</div> <div class="MsoPlainText"><span style=""> </span>*</div> <div class="MsoPlainText"><span style=""> </span>* Copyright (c) 1998-2000 NetUSE AG</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>Boris Erdmann, Kristian Koehntopp</div> <div class="MsoPlainText"><span style=""> </span>*</div> <div class="MsoPlainText"><span style=""> </span>* $Id: db_mysql.inc,v 1.1.1.1 2002/09/04 18:19:57 kozlik Exp $</div> <div class="MsoPlainText"><span style=""> </span>*</div> <div class="MsoPlainText"><span style=""> </span>*/ </div> <div
class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText">class DB_Sql {</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>/* public: connection parameters */</div> <div class="MsoPlainText"><span style=""> </span>var $Host<span style=""> </span>= "localhost";</div> <div class="MsoPlainText"><span style=""> </span>var $Database = "openser";</div> <div class="MsoPlainText"><span style=""> </span>var $User<span style=""> </span>= "openser";</div> <div class="MsoPlainText"><span style=""> </span>var $Password = "openserrw";</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: configuration parameters */</div> <div class="MsoPlainText"><span style="">
</span>var $Auto_Free<span style=""> </span>= 0;<span style=""> </span>## Set to 1 for automatic mysql_free_result()</div> <div class="MsoPlainText"><span style=""> </span>var $Debug<span style=""> </span>= 0;<span style=""> </span>## Set to 1 for debugging messages.</div> <div class="MsoPlainText"><span style=""> </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=""> </span>var $Seq_Table<span style=""> </span>= "db_sequence";</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: result array and current row number */</div> <div class="MsoPlainText"><span
style=""> </span>var $Record<span style=""> </span>= array();</div> <div class="MsoPlainText"><span style=""> </span>var $Row;</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: current error number and error text */</div> <div class="MsoPlainText"><span style=""> </span>var $Errno<span style=""> </span>= 0;</div> <div class="MsoPlainText"><span style=""> </span>var $Error<span style=""> </span>= "";</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: this is an api revision, not a CVS revision. */</div> <div class="MsoPlainText"><span style=""> </span>var $type<span style=""> </span>= "mysql";</div> <div class="MsoPlainText"><span
style=""> </span>var $revision = "1.2";</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* private: link and query handles */</div> <div class="MsoPlainText"><span style=""> </span>var $Link_ID<span style=""> </span>= 0;</div> <div class="MsoPlainText"><span style=""> </span>var $Query_ID = 0;</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: constructor */</div> <div class="MsoPlainText"><span style=""> </span>function DB_Sql($query = "") {</div> <div class="MsoPlainText"><span style=""> </span>$this->query($query);</div> <div
class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: some trivial reporting */</div> <div class="MsoPlainText"><span style=""> </span>function link_id() {</div> <div class="MsoPlainText"><span style=""> </span>return $this->Link_ID;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function query_id() {</div> <div class="MsoPlainText"><span style=""> </span>return $this->Query_ID;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style="">
</span>/* public: connection management */</div> <div class="MsoPlainText"><span style=""> </span>function connect($Database = "", $Host = "", $User = "", $Password = "") {</div> <div class="MsoPlainText"><span style=""> </span>/* Handle defaults */</div> <div class="MsoPlainText"><span style=""> </span>if ("" == $Database)</div> <div class="MsoPlainText"><span style=""> </span>$Database = $this->Database;</div> <div class="MsoPlainText"><span style=""> </span>if ("" == $Host)</div> <div class="MsoPlainText"><span style=""> </span>$Host<span style=""> </span>= $this->Host;</div> <div class="MsoPlainText"><span style=""> </span>if ("" == $User)</div> <div class="MsoPlainText"><span style=""> </span>$User<span style=""> </span>=
$this->User;</div> <div class="MsoPlainText"><span style=""> </span>if ("" == $Password)</div> <div class="MsoPlainText"><span style=""> </span>$Password = $this->Password;</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>/* establish connection, select database */</div> <div class="MsoPlainText"><span style=""> </span>if ( 0 == $this->Link_ID ) {</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>$this->Link_ID=mysql_pconnect($Host, $User, $Password);</div> <div class="MsoPlainText"><span style=""> </span>if (!$this->Link_ID) {</div> <div class="MsoPlainText"><span style="">
</span>$this->halt("pconnect($Host, $User, \$Password) failed.");</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>if (!@mysql_select_db($Database,$this->Link_ID)) {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("cannot use database ".$Database);</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style="">
</span></div> <div class="MsoPlainText"><span style=""> </span>return $this->Link_ID;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: discard the query result */</div> <div class="MsoPlainText"><span style=""> </span>function free() {</div> <div class="MsoPlainText"><span style=""> </span>@mysql_free_result($this->Query_ID);</div> <div class="MsoPlainText"><span style=""> </span>$this->Query_ID = 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: perform a query */</div> <div class="MsoPlainText"><span
style=""> </span>function query($Query_String) {</div> <div class="MsoPlainText"><span style=""> </span>/* No empty queries, please, since PHP4 chokes on them. */</div> <div class="MsoPlainText"><span style=""> </span>if ($Query_String == "")</div> <div class="MsoPlainText"><span style=""> </span>/* The empty query string is passed on from the constructor,</div> <div class="MsoPlainText"><span style=""> </span>* when calling the class without a query, e.g. in situations</div> <div class="MsoPlainText"><span style=""> </span>* like these: '$db = new DB_Sql_Subclass;'</div> <div class="MsoPlainText"><span style=""> </span>*/</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><!--[if
!supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>if (!$this->connect()) {</div> <div class="MsoPlainText"><span style=""> </span>return 0; /* we already complained in connect() about that. */</div> <div class="MsoPlainText"><span style=""> </span>};</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span># New query, discard previous result.</div> <div class="MsoPlainText"><span style=""> </span>if ($this->Query_ID) {</div> <div class="MsoPlainText"><span style=""> </span>$this->free();</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div
class="MsoPlainText"><span style=""> </span>if ($this->Debug)</div> <div class="MsoPlainText"><span style=""> </span>printf("Debug: query = %s<br>\n", $Query_String);</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>$this->Query_ID = @mysql_query($Query_String,$this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>$this->Row<span style=""> </span>= 0;</div> <div class="MsoPlainText"><span style=""> </span>$this->Errno = mysql_errno();</div> <div class="MsoPlainText"><span style=""> </span>$this->Error = mysql_error();</div> <div class="MsoPlainText"><span style=""> </span>if (!$this->Query_ID) {</div> <div class="MsoPlainText"><span style="">
</span>$this->halt("Invalid SQL: ".$Query_String);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span># Will return nada if it fails. That's fine.</div> <div class="MsoPlainText"><span style=""> </span>return $this->Query_ID;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: walk result set */</div> <div class="MsoPlainText"><span style=""> </span>function next_record() {</div> <div class="MsoPlainText"><span style=""> </span>if (!$this->Query_ID) {</div> <div class="MsoPlainText"><span style="">
</span>$this->halt("next_record called with no query pending.");</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>$this->Record = @mysql_fetch_array($this->Query_ID);</div> <div class="MsoPlainText"><span style=""> </span>$this->Row<span style=""> </span>+= 1;</div> <div class="MsoPlainText"><span style=""> </span>$this->Errno<span style=""> </span>= mysql_errno();</div> <div class="MsoPlainText"><span style=""> </span>$this->Error<span style=""> </span>= mysql_error();</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div
class="MsoPlainText"><span style=""> </span>$stat = is_array($this->Record);</div> <div class="MsoPlainText"><span style=""> </span>if (!$stat && $this->Auto_Free) {</div> <div class="MsoPlainText"><span style=""> </span>$this->free();</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>return $stat;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: position in result set */</div> <div class="MsoPlainText"><span style=""> </span>function seek($pos = 0) {</div> <div class="MsoPlainText"><span style=""> </span>$status = @mysql_data_seek($this->Query_ID, $pos);</div> <div
class="MsoPlainText"><span style=""> </span>if ($status)</div> <div class="MsoPlainText"><span style=""> </span>$this->Row = $pos;</div> <div class="MsoPlainText"><span style=""> </span>else {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("seek($pos) failed: result has ".$this->num_rows()." rows.");</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* half assed attempt to save the day, </div> <div class="MsoPlainText"><span style=""> </span>* but do not consider this documented or even</div> <div class="MsoPlainText"><span style=""> </span>* desireable behaviour.</div> <div class="MsoPlainText"><span
style=""> </span>*/</div> <div class="MsoPlainText"><span style=""> </span>@mysql_data_seek($this->Query_ID, $this->num_rows());</div> <div class="MsoPlainText"><span style=""> </span>$this->Row = $this->num_rows();</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>return 1;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: table locking */</div> <div class="MsoPlainText"><span style="">
</span>function lock($table, $mode = "write") {</div> <div class="MsoPlainText"><span style=""> </span>$query = "lock tables ";</div> <div class="MsoPlainText"><span style=""> </span>if (is_array($table)) {</div> <div class="MsoPlainText"><span style=""> </span>while (list($key,$value) = each($table)) {</div> <div class="MsoPlainText"><span style=""> </span>if (!is_int($key)) {</div> <div class="MsoPlainText"><span style=""> </span><span style=""> </span>// texts key are "read", "read local", "write", "low priority write"</div> <div class="MsoPlainText"><span style=""> </span>$query .= "$value $key, ";</div> <div class="MsoPlainText"><span style=""> </span>} else {</div> <div
class="MsoPlainText"><span style=""> </span>$query .= "$value $mode, ";</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>$query = substr($query,0,-2);</div> <div class="MsoPlainText"><span style=""> </span>} else {</div> <div class="MsoPlainText"><span style=""> </span>$query .= "$table $mode";</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>$res = $this->query($query);</div> <div class="MsoPlainText"><span style=""> </span>if (!$res) {</div> <div class="MsoPlainText"><span style="">
</span>$this->halt("lock() failed.");</div> <div class="MsoPlainText"><span style=""> </span><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>return $res;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>function unlock() {</div> <div class="MsoPlainText"><span style=""> </span>$res = $this->query("unlock tables");</div> <div class="MsoPlainText"><span style=""> </span>if (!$res) {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("unlock() failed.");</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span
style=""> </span>return $res;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: evaluate the result (size, width) */</div> <div class="MsoPlainText"><span style=""> </span>function affected_rows() {</div> <div class="MsoPlainText"><span style=""> </span>return @mysql_affected_rows($this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function num_rows() {</div> <div class="MsoPlainText"><span style=""> </span>return @mysql_num_rows($this->Query_ID);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div
class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function num_fields() {</div> <div class="MsoPlainText"><span style=""> </span>return @mysql_num_fields($this->Query_ID);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: shorthand notation */</div> <div class="MsoPlainText"><span style=""> </span>function nf() {</div> <div class="MsoPlainText"><span style=""> </span>return $this->num_rows();</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function np() {</div> <div
class="MsoPlainText"><span style=""> </span>print $this->num_rows();</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function f($Name) {</div> <div class="MsoPlainText"><span style=""> </span>if (isset($this->Record[$Name])) {</div> <div class="MsoPlainText"><span style=""> </span>return $this->Record[$Name];</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function p($Name) {</div> <div class="MsoPlainText"><span style=""> </span>if (isset($this->Record[$Name]))
{</div> <div class="MsoPlainText"><span style=""> </span>print $this->Record[$Name];</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: sequence numbers */</div> <div class="MsoPlainText"><span style=""> </span>function nextid($seq_name) {</div> <div class="MsoPlainText"><span style=""> </span>$this->connect();</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>if ($this->lock($this->Seq_Table)) {</div> <div class="MsoPlainText"><span style=""> </span>/* get sequence number (locked) and increment */</div> <div
class="MsoPlainText"><span style=""> </span>$q<span style=""> </span>= sprintf("select nextid from %s where seq_name = '%s'",</div> <div class="MsoPlainText"><span style=""> </span>$this->Seq_Table,</div> <div class="MsoPlainText"><span style=""> </span>$seq_name);</div> <div class="MsoPlainText"><span style=""> </span>$id<span style=""> </span>= @mysql_query($q, $this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>$res = @mysql_fetch_array($id);</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>/* No current value, make one */</div> <div
class="MsoPlainText"><span style=""> </span><span style=""> </span>if (!is_array($res)) {</div> <div class="MsoPlainText"><span style=""> </span>$currentid = 0;</div> <div class="MsoPlainText"><span style=""> </span>$q = sprintf("insert into %s values('%s', %s)",</div> <div class="MsoPlainText"><span style=""> </span>$this->Seq_Table,</div> <div class="MsoPlainText"><span style=""> </span>$seq_name,</div> <div class="MsoPlainText"><span style=""> </span>$currentid);</div> <div class="MsoPlainText"><span style=""> </span>$id =
@mysql_query($q, $this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>} else {</div> <div class="MsoPlainText"><span style=""> </span>$currentid = $res["nextid"];</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>$nextid = $currentid + 1;</div> <div class="MsoPlainText"><span style=""> </span>$q = sprintf("update %s set nextid = '%s' where seq_name = '%s'",</div> <div class="MsoPlainText"><span style=""> </span>$this->Seq_Table,</div> <div class="MsoPlainText"><span style=""> </span>$nextid,</div> <div class="MsoPlainText"><span
style=""> </span>$seq_name);</div> <div class="MsoPlainText"><span style=""> </span>$id = @mysql_query($q, $this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>$this->unlock();</div> <div class="MsoPlainText"><span style=""> </span>} else {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("cannot lock ".$this->Seq_Table." - has it been created?");</div> <div class="MsoPlainText"><span style=""> </span>return 0;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>return $nextid;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if
!supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: return table metadata */</div> <div class="MsoPlainText"><span style=""> </span>function metadata($table = "", $full = false) {</div> <div class="MsoPlainText"><span style=""> </span>$count = 0;</div> <div class="MsoPlainText"><span style=""> </span>$id<span style=""> </span>= 0;</div> <div class="MsoPlainText"><span style=""> </span>$res<span style=""> </span>= array();</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/*</div> <div class="MsoPlainText"><span style=""> </span>* Due to compatibility problems with Table we changed the behavior</div> <div class="MsoPlainText"><span style="">
</span>* of metadata();</div> <div class="MsoPlainText"><span style=""> </span>* depending on $full, metadata returns the following values:</div> <div class="MsoPlainText"><span style=""> </span>*</div> <div class="MsoPlainText"><span style=""> </span><span style=""> </span>* - full is false (default):</div> <div class="MsoPlainText"><span style=""> </span>* $result[]:</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["table"]<span style=""> </span>table name</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["name"]<span style=""> </span>field name</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["type"]<span style=""> </span>field
type</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["len"]<span style=""> </span>field length</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["flags"]<span style=""> </span>field flags</div> <div class="MsoPlainText"><span style=""> </span>*</div> <div class="MsoPlainText"><span style=""> </span>* - full is true</div> <div class="MsoPlainText"><span style=""> </span>* $result[]:</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>["num_fields"] number of metadata records</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["table"]<span style=""> </span>table name</div> <div
class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["name"]<span style=""> </span>field name</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["type"]<span style=""> </span>field type</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["len"]<span style=""> </span>field length</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>[0]["flags"]<span style=""> </span>field flags</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>["meta"][field name]<span style=""> </span>index of field named "field name"</div> <div class="MsoPlainText"><span style=""> </span>*<span
style=""> </span>This last one could be used if you have a field name, but no index.</div> <div class="MsoPlainText"><span style=""> </span>*<span style=""> </span>Test:<span style=""> </span>if (isset($result['meta']['myfield'])) { ...</div> <div class="MsoPlainText"><span style=""> </span>*/</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>// if no $table specified, assume that we are working with a query</div> <div class="MsoPlainText"><span style=""> </span>// result</div> <div class="MsoPlainText"><span style=""> </span>if ($table) {</div> <div class="MsoPlainText"><span style=""> </span>$this->connect();</div> <div class="MsoPlainText"><span style=""> </span>$id =
@mysql_list_fields($this->Database, $table);</div> <div class="MsoPlainText"><span style=""> </span>if (!$id) {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("Metadata query failed.");</div> <div class="MsoPlainText"><span style=""> </span>return false;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>} else {</div> <div class="MsoPlainText"><span style=""> </span>$id = $this->Query_ID; </div> <div class="MsoPlainText"><span style=""> </span>if (!$id) {</div> <div class="MsoPlainText"><span style=""> </span>$this->halt("No query specified.");</div> <div class="MsoPlainText"><span
style=""> </span>return false;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>$count = @mysql_num_fields($id);</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>// made this IF due to performance (one if is faster than $count if's)</div> <div class="MsoPlainText"><span style=""> </span>if (!$full) {</div> <div class="MsoPlainText"><span style=""> </span>for ($i=0; $i<$count; $i++) {</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["table"] =
@mysql_field_table ($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["name"]<span style=""> </span>= @mysql_field_name<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["type"]<span style=""> </span>= @mysql_field_type<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["len"]<span style=""> </span>= @mysql_field_len<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["flags"] = @mysql_field_flags ($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>} else { // full</div> <div
class="MsoPlainText"><span style=""> </span>$res["num_fields"]= $count;</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>for ($i=0; $i<$count; $i++) {</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["table"] = @mysql_field_table ($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["name"]<span style=""> </span>= @mysql_field_name<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["type"]<span style=""> </span>= @mysql_field_type<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["len"]<span
style=""> </span>= @mysql_field_len<span style=""> </span>($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res[$i]["flags"] = @mysql_field_flags ($id, $i);</div> <div class="MsoPlainText"><span style=""> </span>$res["meta"][$res[$i]["name"]] = $i;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>// free the result only if we were called on a table</div> <div class="MsoPlainText"><span style=""> </span>if ($table) {</div> <div class="MsoPlainText"><span style=""> </span>@mysql_free_result($id);</div> <div class="MsoPlainText"><span
style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span>return $res;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* public: find available table names */</div> <div class="MsoPlainText"><span style=""> </span>function table_names() {</div> <div class="MsoPlainText"><span style=""> </span>$this->connect();</div> <div class="MsoPlainText"><span style=""> </span>$h = @mysql_query("show tables", $this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>$i = 0;</div> <div class="MsoPlainText"><span style=""> </span>while ($info = @mysql_fetch_row($h)) {</div> <div class="MsoPlainText"><span style="">
</span>$return[$i]["table_name"]<span style=""> </span>= $info[0];</div> <div class="MsoPlainText"><span style=""> </span>$return[$i]["tablespace_name"] = $this->Database;</div> <div class="MsoPlainText"><span style=""> </span>$return[$i]["database"]<span style=""> </span>= $this->Database;</div> <div class="MsoPlainText"><span style=""> </span>$i++;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><span style=""> </span></div> <div class="MsoPlainText"><span style=""> </span>@mysql_free_result($h);</div> <div class="MsoPlainText"><span style=""> </span>return $return;</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if
!supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>/* private: error handling */</div> <div class="MsoPlainText"><span style=""> </span>function halt($msg) {</div> <div class="MsoPlainText"><span style=""> </span>$this->Error = @mysql_error($this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>$this->Errno = @mysql_errno($this->Link_ID);</div> <div class="MsoPlainText"><span style=""> </span>if ($this->Halt_On_Error == "no")</div> <div class="MsoPlainText"><span style=""> </span>return;</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>$this->haltmsg($msg);</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div
class="MsoPlainText"><span style=""> </span>if ($this->Halt_On_Error != "report")</div> <div class="MsoPlainText"><span style=""> </span>die("Session halted.");</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText"><span style=""> </span>function haltmsg($msg) {</div> <div class="MsoPlainText"><span style=""> </span>printf("</td></tr></table><b>Database error:</b> %s<br>\n", $msg);</div> <div class="MsoPlainText"><span style=""> </span>printf("<b>MySQL Error</b>: %s (%s)<br>\n",</div> <div class="MsoPlainText"><span style=""> </span><span style=""> </span>$this->Errno,</div> <div class="MsoPlainText"><span style="">
</span>$this->Error);</div> <div class="MsoPlainText"><span style=""> </span>}</div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <div class="MsoPlainText">}</div> <div class="MsoPlainText">?></div> <div class="MsoPlainText"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></div> <p> 
<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.