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

yipeiwu_com5年前Mysql基础

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

首先封装好mysql类

mysql.php

<?php
class Mysql{
     private static $host="localhost";
     private static $user="root";
     private static $password="123456";
     private static $dbName="test";           //数据库名
     private static $charset="utf8";          //字符编码
     private static $port="3306";            //端口号
     private $conn=null;
     function __construct(){
       $this->conn=new mysqli(self::$host,self::$user,self::$password,self::$dbName,self::$port);
       if(!$this->conn)
       {
          die("数据库连接失败!".$this->conn->connect_error);
       }else{
         echo "连接成功!";
       }
       $this->conn->query("set names ".self::$charset);
     }
     //执行sql语句
     function sql($sql){
       $res=$this->conn->query($sql);
     if(!$res)
       {
          echo "数据操作失败";
       }
       else
       {
          if($this->conn->affected_rows>0)
          {
             return $res;
          }
          else
          {
            echo "0行数据受影响!";
          }
       }
     }
     //返回受影响数据行数
     function getResultNum($sql){
      $res=$this->conn->query($sql);
      return mysqli_num_rows($res);
      }
     //关闭数据库
     public function close()
     {
       @mysqli_close($this->conn);
     }
}
?>

然后就可以调用了

index.php

<?php
require_once "mysql.php";
$conn=new Mysql();
$sql="select * from user";
//执行查询并获取查询结果
$result=$conn->sql($sql);
//输出受影响数据行数
$num=$conn->getResultNum($sql);
echo "影响的行数:".$num;
//读取并输出记录
while ($row = mysqli_fetch_assoc($result))
{
  echo "{$row['name']} ";
  echo "{$row['password']}";
}
//关闭数据库
$conn->close();

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php写的带缓存数据功能的mysqli类

复制代码 代码如下: <?php /** * Mysqli类 */ class db_mysqli { protected $mysqli; protected $sql; pro...

php计算整个mysql数据库大小的方法

本文实例讲述了php计算整个mysql数据库大小的方法。分享给大家供大家参考。具体如下: 这里用MB,KB或者GB的格式返回计算结果。 function CalcFullDataba...

PHP中使用localhost连接Mysql不成功的解决方法

发现问题 昨天在帮同事编译安装Linux环境时,遇到一个问题: WEB服务器是apache,数据库是MySQL。 于是写了一个测试连接数据库的PHP页面: 复制代码 代码如下:$mysq...

php中数据库连接方式pdo和mysqli对比分析

1)总的比较   PDO MySQLi 数据库支持 12种不同的...

解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别

mysql 中:UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)若无参数调用,则返回一个Unix timestamp ('1970-01-01 00:00:0...