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

yipeiwu_com6年前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数据库操作类。分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvem...

PHP连接MySQL查询结果中文显示乱码解决方法

我们首先假设数据库中采用的编码为UTF-8这时我们在PHP页面中应当首先添加复制代码 代码如下:<meta http-equiv="Content-Type" content="t...

解决PHP在DOS命令行下却无法链接MySQL的技术笔记

正好今天朋友 xjb 也碰到了这个问题,所以写了这篇笔记,将此问题的描述以及解决记录下。 问题描述:用 web 方式, 可以链接 mysql, 但是在命令行下, 却提示:   Fatal...

php基于Fleaphp框架实现cvs数据导入MySQL的方法

本文实例讲述了php基于Fleaphp框架实现cvs数据导入MySQL的方法。分享给大家供大家参考,具体如下: <?php /* * To change this t...

用mysql触发器自动更新memcache的实现代码

mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的...