当前位置:首页 > PHP教程 > php类库 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 23:13:54 浏览: 评论:0 
  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 = '<b>error:</b>'.$error.'<br />'
  93. $s .= '<b>errno:</b>'.$errorno.'<br />'
  94. $s .= '<b>sql:</b>:'.$sql
  95. exit($s); 
  96. }

Tags: mysql数据库连接 mysql连接类

分享到: