PHP自己封装一个原生mysql数据库工具类--基础类

代码都是刚从自己编辑器上拷贝下来的,可以直接复制黏贴运行。

<?php
header('content-type:text/html;charset=utf-8');
error_reporting(E_ALL ^ E_DEPRECATED);
// 设计一个mysql数据库操作类

$config=array(
        'host'=>"localhost",
    'port'=>3306,
    'user'=>"root",
    'pass'=>'',
    'char'=>"utf8",
    'db'=>"test"
    ); // 把未来将要传过来的数据库配置文件编辑成一个数组,以数组形式传递参数给类

class MYSQL{

  private  $link=null;
    private $host;   // 考虑到以后要每个页面可能都要连接一次数据库,所以就直接在实例化对象的时候直接把各个配置的信息数据保存到对应的这个对象中 以待下次直接new一个对象的时候就可以使用
    private $port;
    private $user;
    private $pass;
    private $char;
    private $db;

  function __construct($config){  //因为是构造函数所以 一实例化 就会连接上这个数据库  把数组加载进来 
            // 把连接过来的数据库信息保存起来,留以它用
        $this->host=!empty($config['host']) ? $config['host'] : "localhost";
        $this->port=!empty($config['port']) ? $config['port'] : "3306";
        $this->user=!empty($config['user']) ? $config['user'] : "root";
        $this->pass=!empty($config['pass']) ? $config['pass'] : "";
        $this->char=!empty($config['char']) ? $config['char'] : "utf8";
        $this->db=!empty($config['db']) ? $config['db'] : "test";  //三元运算符用上了,意思为: 如果对应的那个数组中的某个单元不为空,则把它的值赋上,否则 直接采用默认的值。


      $link=@mysql_connect("{$config['host']}:{$config['port']}","{$config['user']}","{$config['pass']}");  //连接数据库的语句  数据是数组中的对应单元的数据
       $this->charset($this->char);  // 考虑到可能会改变数据库或者字符编码,所以在这个构造函数中还要直接执行这个另外选用数据库或者选取字符编码的操作
       $this->usedb($this->db);
 
  }

  function charset($charset){  // 设置字符编码
    mysql_query("set names {$charset} ");
  }

  function usedb($db){  //更改要使用的数据库
     mysql_query("use {$db}");
     echo "已切换数据库 {$db} <br>";
  }

  function closeDB(){  //关闭数据库
      mysql_close($this->link);
      echo "已关闭数据库连接";
  }

  function exec($chaxun){ // 返回增,删,改语句的返回真假结果
   $result= mysql_query($chaxun);  //把增,删,改运行的语句结果赋值给result 结果是boolen类型的,已测试过
   if($result===false){
         // 语句执行失败,处理失败 返回错误代号
        echo  mysql_error($link);
        echo "数据执行失败";
        exit();
         }else{
            //语句执行成功,返回true
            echo "数据执行成功了";
            return true;
         }
  }

  function getOneRow($sql){  //执行一条返回一行数据的语句,返回一维数组

  $result = mysql_query($sql);
  $arr=mysql_fetch_assoc($result);
  return $arr;
  }


}



 ?>

上面的代码可以起名 ‘mysql_tool.php’然后引入其他文件进行调用,如下

<?php
require "./mysql_tool.php";
 $obj=new MYSQL($config);  
 

 //  $obj->exec($sql);

   $sql1="select name from stu ";
   $obj->getRows($sql1);
 var_dump($obj->getOneRow($sql1));
 echo "<br>";
   var_dump($obj->getRows($sql1));
   echo "<br>";
  var_dump($obj->getOnedata($sql1));
  echo "<br>";
    echo $obj->getOnedata($sql1);
?>

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值