PHP封装的mysqli数据库操作类示例

这篇文章主要介绍了PHP封装的mysqli数据库操作类,涉及php针对mysqli数据库的连接、增删改查、分页、排序等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP封装的mysqli数据库操作类,分享给大家供大家参考,具体如下:

由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里是在我原有的MySQL数据库操作类的基础上加以改进而编写出的MySQLI数据库操作类,整体代码与MySQL数据库操作类大致相同,直接实例化db_class即可。

  1. <?php
  2. class db_class{
  3. public $db_url; //连接地址
  4. public $db_username; //连接名
  5. public $db_userpassword; //连接密码
  6. public $db_name; //数据库名
  7. public $db_tablename; //表名
  8. public $db_conn; //数据库连接
  9. public $db_order;
  10. public $db_limit;
  11. public function db_getconn(){ //连接数据库
  12. $this->db_conn= mysqli_connect($this->db_url,$this->db_username,$this->db_userpassword,$this->db_name);
  13. if (!$this->db_conn)
  14. {
  15. echo "连接 MySQL 失败: " . mysqli_connect_error();
  16. }
  17. }
  18. public function __construct($db_url,$db_username,$db_userpassword,$db_name){ //构造方法赋值
  19. $this->db_url=$db_url;
  20. $this->db_username=$db_username;
  21. $this->db_userpassword=$db_userpassword;
  22. $this->db_name=$db_name;
  23. $this->db_order="";
  24. $this->db_limit="";
  25. $this->db_getconn();
  26. mysqli_query($this->db_conn,'set names utf8');
  27. }
  28. public function db_settablename($db_tablename){ //设置表名
  29. $this->db_tablename=$db_tablename;
  30. }
  31. public function db_setorder($str){ //排序操作
  32. $this->db_order="order by $str";
  33. }
  34. public function db_setlimit($start,$end){ //分页操作
  35. $this->db_limit="limit $start,$end";
  36. }
  37. public function db_select($typearr="",$where=""){ //查询操作
  38. if(emptyempty($typearr)){
  39. $typearr="*";
  40. }
  41. else{
  42. $typearr=implode(",",$typearr);
  43. }
  44. if(emptyempty($where)){
  45. $where="";
  46. }else{
  47. $where="where ".$where;
  48. }
  49. $arr=array();
  50. $sql="select $typearr from $this->db_tablename $where $this->db_order $this->db_limit ";
  51. $result = mysqli_query($this->db_conn,$sql);
  52. while($row = $result->fetch_array()) {
  53. $arr[]=$row;
  54. }
  55. return $arr;
  56. }
  57. public function db_update($typearr,$valuearr,$where=""){ //更新操作
  58. $sql="";
  59. if(emptyempty($where)){
  60. $where="";
  61. }else{
  62. $where=" where ".$where;
  63. }
  64. $sql.="update $this->db_tablename set ";
  65. foreach ($typearr as $key=>$value){
  66. if(count($typearr)-1==$key){
  67. $sql.=$value."='".$valuearr[$key]."'";
  68. }else{
  69. $sql.=$value."='".$valuearr[$key]."'".",";
  70. }
  71. }
  72. $sql.=$where;
  73. mysqli_query($this->db_conn,$sql);
  74. }
  75. public function db_delete($typestr,$valuestr){ //删除操作
  76. $sql="delete from $this->db_tablename WHERE $typestr=$valuestr";
  77. mysqli_query($this->db_conn,$sql);
  78. }
  79. public function db_insert($typearr,$valuearr){ //插入操作
  80. $sql="insert into $this->db_tablename(".implode(",", $typearr).") values(".implode(",", $valuearr).")";
  81. mysqli_query($this->db_conn,$sql);
  82. }
  83. public function __destruct(){ //析构方法关闭连接
  84. mysqli_close($this->db_conn);
  85. }
  86. }