PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例

这篇文章主要介绍了PHP封装mysqli基于面向对象的mysql数据库操作类与用法,涉及php使用mysqli操作mysql数据库的连接、执行sql语句、关闭连接等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP封装mysqli基于面向对象的mysql数据库操作与用法,分享给大家供大家参考,具体如下:

首先封装好mysql类

mysql.php

  1. <?php
  2. class Mysql{
  3. private static $host="localhost";
  4. private static $user="root";
  5. private static $password="123456";
  6. private static $dbName="test"; //数据库名
  7. private static $charset="utf8"; //字符编码
  8. private static $port="3306"; //端口号
  9. private $conn=null;
  10. function __construct(){
  11. $this->conn=new mysqli(self::$host,self::$user,self::$password,self::$dbName,self::$port);
  12. if(!$this->conn)
  13. {
  14. die("数据库连接失败!".$this->conn->connect_error);
  15. }else{
  16. echo "连接成功!";
  17. }
  18. $this->conn->query("set names ".self::$charset);
  19. }
  20. //执行sql语句
  21. function sql($sql){
  22. $res=$this->conn->query($sql);
  23. if(!$res)
  24. {
  25. echo "数据操作失败";
  26. }
  27. else
  28. {
  29. if($this->conn->affected_rows>0)
  30. {
  31. return $res;
  32. }
  33. else
  34. {
  35. echo "0行数据受影响!";
  36. }
  37. }
  38. }
  39. //返回受影响数据行数
  40. function getResultNum($sql){
  41. $res=$this->conn->query($sql);
  42. return mysqli_num_rows($res);
  43. }
  44. //关闭数据库
  45. public function close()
  46. {
  47. @mysqli_close($this->conn);
  48. }
  49. }
  50. ?>

然后就可以调用了

index.php

  1. <?php
  2. require_once "mysql.php";
  3. $conn=new Mysql();
  4. $sql="select * from user";
  5. //执行查询并获取查询结果
  6. $result=$conn->sql($sql);
  7. //输出受影响数据行数
  8. $num=$conn->getResultNum($sql);
  9. echo "影响的行数:".$num;
  10. //读取并输出记录
  11. while ($row = mysqli_fetch_assoc($result))
  12. {
  13. echo "{$row['name']} ";
  14. echo "{$row['password']}";
  15. }
  16. //关闭数据库
  17. $conn->close();