<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[ECMall Ecmall二次开发 - PHP技术-]]></title> 
<link>http://www.laohucheng.com/index.php</link> 
<description><![CDATA[ECMall,ECMall二次开发,厦门PHP-ECShop二次开发,ECShop开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[ECMall Ecmall二次开发 - PHP技术-]]></copyright>
<item>
<link>http://www.laohucheng.com/post//</link>
<title><![CDATA[DZ的mysql类]]></title> 
<author>jane &lt;&gt;</author>
<category><![CDATA[程序 代码 源码]]></category>
<pubDate>Tue, 14 Apr 2009 16:05:28 +0000</pubDate> 
<guid>http://www.laohucheng.com/post//</guid> 
<description>
<![CDATA[ 
	DZ的mysql类 Mysql操作类<br/>PHP代码:<br/><br/>&lt;?php<br/><br/>class dbstuff &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//一些常量的的设定<br/>&nbsp;&nbsp;&nbsp;&nbsp;var $version = &#039;&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var $querynum = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var $link;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义链接方法<br/>&nbsp;&nbsp;&nbsp;&nbsp;function connect($dbhost, $dbuser, $dbpw, $dbname = &#039;&#039;, $pconnect = 0, $halt = TRUE, $dbcharset2 = &#039;&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//在方法定义传递参数时候就设置的pconnect=0.这个参数用来判断是否是个持续链接。<br/>&nbsp;&nbsp;&nbsp;&nbsp;//$func变量用来存储，判断$pconnect是否为空，如果是，则存储php到mysql的链接（非持续性）的方法名。反之，则存储php到mysql的持续链接的方法名。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$func = empty($pconnect) ? &#039;mysql_connect&#039; : &#039;mysql_pconnect&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//建立一个链接给类的属性link之中。并且在建立链接的时候就设定编码方式是如何的。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$this-&gt;link = @$func($dbhost, $dbuser, $dbpw, 1)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$halt &amp;&amp; $this-&gt;halt(&#039;Can not connect to MySQL server&#039;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;version() &gt; &#039;4.1&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global $charset, $dbcharset;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dbcharset = $dbcharset2 ? $dbcharset2 : $dbcharset;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dbcharset = !$dbcharset &amp;&amp; in_array(strtolower($charset), array(&#039;gbk&#039;, &#039;big5&#039;, &#039;utf-8&#039;)) ? str_replace(&#039;-&#039;, &#039;&#039;, $charset) : $dbcharset;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$serverset = $dbcharset ? &#039;character_set_connection=&#039;.$dbcharset.&#039;, character_set_results=&#039;.$dbcharset.&#039;, character_set_client=binary&#039; : &#039;&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$serverset .= $this-&gt;version() &gt; &#039;5.0.1&#039; ? ((empty($serverset) ? &#039;&#039; : &#039;,&#039;).&#039;sql_mode=&#92;&#039;&#92;&#039;&#039;) : &#039;&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$serverset &amp;&amp; mysql_query(&quot;SET $serverset&quot;, $this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dbname &amp;&amp; @mysql_select_db($dbname, $this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义一个选择数据库的方法<br/>&nbsp;&nbsp;&nbsp;&nbsp;function select_db($dbname) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_select_db($dbname, $this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义一个数据库执行后的返回方法<br/>&nbsp;&nbsp;&nbsp;&nbsp;function fetch_array($query, $result_type = MYSQL_ASSOC) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_fetch_array($query, $result_type);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义一个方法，方法中返回fetch_array方法执行后的返回值<br/>&nbsp;&nbsp;&nbsp;&nbsp;function fetch_first($sql) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;fetch_array($this-&gt;query($sql));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义一个方法，方法中返回result方法执行后的返回值<br/>&nbsp;&nbsp;&nbsp;&nbsp;function result_first($sql) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;result($this-&gt;query($sql), 0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//定义一个方法。方法中执行对数据库的操作。<br/>&nbsp;&nbsp;&nbsp;&nbsp;function query($sql, $type = &#039;&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义全局变量<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断并且引入debug文件。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(defined(&#039;SYS_DEBUG&#039;) &amp;&amp; SYS_DEBUG) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@include_once DISCUZ_ROOT.&#039;./include/debug.func.php&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqldebug();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//数据库操作。。不明具体的判断。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$func = $type == &#039;UNBUFFERED&#039; &amp;&amp; @function_exists(&#039;mysql_unbuffered_query&#039;) ?<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;mysql_unbuffered_query&#039; : &#039;mysql_query&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!($query = $func($sql, $this-&gt;link))) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(in_array($this-&gt;errno(), array(2006, 2013)) &amp;&amp; substr($type, 0, 5) != &#039;RETRY&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require DISCUZ_ROOT.&#039;./config.inc.php&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;query($sql, &#039;RETRY&#039;.$type);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; elseif($type != &#039;SILENT&#039; &amp;&amp; substr($type, 5) != &#039;SILENT&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;halt(&#039;MySQL Query Error&#039;, $sql);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;querynum++;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $query;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数<br/>&nbsp;&nbsp;&nbsp;&nbsp;function affected_rows() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_affected_rows($this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//数据库的文本错误提示<br/>&nbsp;&nbsp;&nbsp;&nbsp;function error() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (($this-&gt;link) ? mysql_error($this-&gt;link) : mysql_error());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//mysql_errno --&nbsp;&nbsp;返回上一个 MySQL 操作中的错误信息的数字编码 <br/>&nbsp;&nbsp;&nbsp;&nbsp;function errno() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return intval(($this-&gt;link) ? mysql_errno($this-&gt;link) : mysql_errno());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//返回数据库操作结果<br/>&nbsp;&nbsp;&nbsp;&nbsp;function result($query, $row = 0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query = @mysql_result($query, $row);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $query;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//返回数据库查询等操作的数目<br/>&nbsp;&nbsp;&nbsp;&nbsp;function num_rows($query) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query = mysql_num_rows($query);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $query;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//mysql_num_fields-取得结果集中字段的数目<br/>&nbsp;&nbsp;&nbsp;&nbsp;function num_fields($query) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_num_fields($query);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//释放结果内存<br/>&nbsp;&nbsp;&nbsp;&nbsp;function free_result($query) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_free_result($query);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//mysql_insert_id --&nbsp;&nbsp;取得上一步 INSERT 操作产生的 ID<br/>&nbsp;&nbsp;&nbsp;&nbsp;function insert_id() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ($id = mysql_insert_id($this-&gt;link)) &gt;= 0 ? $id : $this-&gt;result($this-&gt;query(&quot;SELECT last_insert_id()&quot;), 0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//以数组的形式返回查询结果<br/>&nbsp;&nbsp;&nbsp;&nbsp;function fetch_row($query) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query = mysql_fetch_row($query);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $query;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//mysql_fetch_field --&nbsp;&nbsp;从结果集中取得列信息并作为对象返回 <br/>&nbsp;&nbsp;&nbsp;&nbsp;function fetch_fields($query) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_fetch_field($query);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//获取版本信息，mysql_get_server_info()返回mysql服务器信息<br/>&nbsp;&nbsp;&nbsp;&nbsp;function version() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(empty($this-&gt;version)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;version = mysql_get_server_info($this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;version;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//关闭链接<br/>&nbsp;&nbsp;&nbsp;&nbsp;function close() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mysql_close($this-&gt;link);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//错误提示<br/>&nbsp;&nbsp;&nbsp;&nbsp;function halt($message = &#039;&#039;, $sql = &#039;&#039;) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define(&#039;CACHE_FORBIDDEN&#039;, TRUE);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require_once DISCUZ_ROOT.&#039;./include/db_mysql_error.inc.php&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/>?&gt;<br/><br/>Tags - <a href="http://www.laohucheng.com/tags/dz%25E7%259A%2584mysql%25E7%25B1%25BB/" rel="tag">dz的mysql类</a> , <a href="http://www.laohucheng.com/tags/mysql%25E6%2593%258D%25E4%25BD%259C%25E7%25B1%25BB/" rel="tag">mysql操作类</a>
]]>
</description>
</item><item>
<link>http://www.laohucheng.com/post//#blogcomment</link>
<title><![CDATA[[评论] DZ的mysql类]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.laohucheng.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>