mysql.init.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. if (!defined('IS_INITPHP')) exit('Access Denied!');
  3. /*********************************************************************************
  4. * InitPHP 3.8.1 国产PHP开发框架 Dao-mysql 基类
  5. *-------------------------------------------------------------------------------
  6. * 版权所有: CopyRight By initphp.com
  7. * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
  8. *-------------------------------------------------------------------------------
  9. * $Author:zhuli
  10. * $Dtime:2013-5-29
  11. ***********************************************************************************/
  12. class mysqlInit extends dbbaseInit{
  13. public $link_id; //链接对象
  14. /**
  15. * MYSQL连接器
  16. * @param string $host sql服务器
  17. * @param string $user 数据库用户名
  18. * @param string $password 数据库登录密码
  19. * @param string $database 数据库
  20. * @param string $charset 编码
  21. * @param string $pconnect 是否持久链接
  22. * @return obj
  23. */
  24. public function connect($host, $user, $password, $database, $charset = 'utf8', $pconnect = 0) {
  25. $link_id = ($pconnect == 0) ? mysql_connect($host, $user, $password, true) : mysql_pconnect($host, $user, $password);
  26. if (!$link_id) InitPHP::initError('mysql connect error!');
  27. mysql_query('SET NAMES ' . $charset, $link_id);
  28. if (!mysql_select_db($database, $link_id)) InitPHP::initError('database is not exist!');
  29. return $link_id;
  30. }
  31. /**
  32. * SQL执行器
  33. * @param string $sql SQL语句
  34. * @return obj
  35. */
  36. public function query($sql) {
  37. return mysql_query($sql, $this->link_id);
  38. }
  39. /**
  40. * 结果集中的行数
  41. * @param $result 结果集
  42. * @return array
  43. */
  44. public function result($result, $num = 1) {
  45. return mysql_result($result, $num);
  46. }
  47. /**
  48. * 从结果集中取得一行作为关联数组
  49. * @param $result 结果集
  50. * @return array
  51. */
  52. public function fetch_assoc($result) {
  53. return mysql_fetch_assoc($result);
  54. }
  55. /**
  56. * 从结果集中取得列信息并作为对象返回
  57. * @param $result 结果集
  58. * @return array
  59. */
  60. public function fetch_fields($result) {
  61. return mysql_fetch_field($result);
  62. }
  63. /**
  64. * 结果集中的行数
  65. * @param $result 结果集
  66. * @return int
  67. */
  68. public function num_rows($result) {
  69. return mysql_num_rows($result);
  70. }
  71. /**
  72. * 结果集中的字段数量
  73. * @param $result 结果集
  74. * @return int
  75. */
  76. public function num_fields($result) {
  77. return mysql_num_fields($result);
  78. }
  79. /**
  80. * 释放结果内存
  81. * @param obj $result 需要释放的对象
  82. */
  83. public function free_result($result) {
  84. return mysql_free_result($result);
  85. }
  86. /**
  87. * 获取上一INSERT的ID值
  88. * @return Int
  89. */
  90. public function insert_id() {
  91. return mysql_insert_id($this->link_id);
  92. }
  93. /**
  94. * 前一次操作影响的记录数
  95. * @return int
  96. */
  97. public function affected_rows() {
  98. return mysql_affected_rows($this->link_id);
  99. }
  100. /**
  101. * 关闭连接
  102. * @return bool
  103. */
  104. public function close() {
  105. if ($this->link_id !== NULL) @mysql_close($this->link_id);
  106. $this->link_id = NULL;
  107. return true;
  108. }
  109. /**
  110. * 错误信息
  111. * @return string
  112. */
  113. public function error() {
  114. return mysql_error($this->link_id);
  115. }
  116. }