php专区

 首页 > php专区 > PHP应用 > php类库 > php mysql数据库连接类程序代码

php mysql数据库连接类程序代码

分享到:
【字体:
导读:
          lasscls_mysql{ var $querynum =0; var $link ; var $histories ; var $dbhost ; var $dbuser ; var $dbpw ; var $dbcharset ; var $pconnect ; var $tablepre ; var $time ; var $goneaway =5; function connect( $dbhost , $dbuser , $dbpw , $dbname = , $...

 
  1. lass cls_mysql{ 
  2. var $querynum = 0; 
  3. var $link
  4. var $histories
  5. var $dbhost
  6. var $dbuser
  7. var $dbpw
  8. var $dbcharset
  9. var $pconnect
  10. var $tablepre
  11. var $time
  12. var $goneaway = 5; 
  13. function connect($dbhost$dbuser$dbpw$dbname = ''$dbcharset = ''$pconnect = 0, $tablepre=''$time = 0) { 
  14. $this->dbhost = $dbhost
  15. $this->dbuser = $dbuser
  16. $this->dbpw = $dbpw
  17. $this->dbname = $dbname
  18. $this->dbcharset = $dbcharset
  19. $this->pconnect = $pconnect
  20. $this->tablepre = $tablepre
  21. $this->time = $time
  22. if($pconnect) { 
  23. if(!$this->link = mysql_pconnect($dbhost$dbuser$dbpw)) { 
  24. $this->halt('can not connect to mysql server'); 
  25. else { 
  26. if(!$this->link = mysql_connect($dbhost$dbuser$dbpw)) { 
  27. $this->halt('can not connect to mysql server'); 
  28. if($this->version() > '4.1') { 
  29. if($dbcharset) { 
  30. mysql_query("set character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", character_set_client=binary"$this->link); 
  31. if($this->version() > '5.0.1') { 
  32. mysql_query("set sql_mode=''"$this->link); 
  33. if($dbname) { 
  34. mysql_select_db($dbname$this->link); 
  35. function fetch_array($query$result_type = mysql_assoc) { 
  36. return mysql_fetch_array($query$result_type); 
  37. function result_first($sql) { 
  38. $query = $this->query($sql); 
  39. return $this->result($query, 0); 
  40. function fetch_first($sql) { 
  41. $query = $this->query($sql); 
  42. return $this->fetch_array($query); 
  43. function fetch_all($sql$id = '') { 
  44. $arr = array(); 
  45. $query = $this->query($sql); 
  46. while($data = $this->fetch_array($query)) { 
  47. $id ? $arr[$data[$id]] = $data : $arr[] = $data
  48. return $arr
  49. function cache_gc() { 
  50. $this->query("delete from {$this->tablepre}sqlcaches where expiry<$this->time"); 
  51. function query($sql$type = ''$cachetime = false) { 
  52. $func = $type == 'unbuffered' && @function_exists('mysql_unbuffered_query') ? 'mysql_unbuffered_query' : 'mysql_query'
  53. if(!($query = $func($sql$this->link)) && $type != 'silent') { 
  54. $this->halt('mysql query error'$sql); 
  55. $this->querynum++; 
  56. $this->histories[] = $sql
  57. return $query
  58. function affected_rows() { 
  59. return mysql_affected_rows($this->link); 
  60. function error() { 
  61. return (($this->link) ? mysql_error($this->link) : mysql_error()); 
  62. function errno() { 
  63. return intval(($this->link) ? mysql_errno($this->link) : mysql_errno()); 
  64. function result($query$row) { 
  65. $query = @mysql_result($query$row); 
  66. return $query
  67. function num_rows($query) { 
  68. $query = mysql_num_rows($query); 
  69. return $query
  70. function num_fields($query) { 
  71. return mysql_num_fields($query); 
  72. function free_result($query) { 
  73. return mysql_free_result($query); 
  74. function insert_id() { 
  75. return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("select last_insert_id()"), 0); 
  76. function fetch_row($query) { 
  77. $query = mysql_fetch_row($query); 
  78. return $query
  79. function fetch_fields($query) { 
  80. return mysql_fetch_field($query); 
  81. function version() { 
  82. return mysql_get_server_info($this->link); 
  83. function close() { 
  84. return mysql_close($this->link); 
  85. function halt($message = ''$sql = '') { 
  86. $error = mysql_error(); 
  87. $errorno = mysql_errno(); 
  88. if($errorno == 2006 && $this->goneaway-- > 0) { 
  89. $this->connect($this->dbhost, $this->dbuser, $this->dbpw, $this->dbname, $this->dbcharset, $this->pconnect, $this->tablepre, $this->time);//开源代码phpfensi.com 
  90. $this->query($sql); 
  91. else { 
  92. $s = 'error:'.$error.''
  93. $s .= 'errno:'.$errorno.''
  94. $s .= 'sql::'.$sql
  95. exit($s); 
  96. }
  97.  

分享到:
通用mysql数据库连接类代码
数据库连接是一种有限的昂贵的资源,数据库连接影响到程序的性能指标,数据库连接池正是针对这个问题提出来的,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接...
mysql 数据备份类代码
说明,该类适用于小型的网站的数据库教程备份,内置mysql连接,只需要简单配置数据连接及存贮备份的位置即可. 类中show_dir_file() 方法可直接返回备份目录下的所有文件,返回以数组形式. 方法 expord_sql() 直接生成sql文件,该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾. mysql 数据备份类代...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……