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格式化MYSQL返回float类型的方法

本文实例讲述了PHP格式化MYSQL返回float类型的方法。分享给大家供大家参考,具体如下: PHP 中获取mysql的float字段,echo 输出后,小数部分为包含多个0. 可使用...

Php中用PDO查询Mysql来避免SQL注入风险的方法

当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_...

小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法第1/3页

乱码产生原因  mysql字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其他的数据库系统。 我们可以在MySQL Command Line...

php调用mysql存储过程

前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行! 调用带有select语句的存储过程就出现 PROCEDURE p ...

DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法

只是中文出现乱码时,在链接数据库后面,加上这一句 utf8的话 mysql_query("SET NAMES 'utf8'"); gbk的话 mysql_query("SET NAMES...