一个比较常用的关于php下的mysql数据操作类

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
<?php
/*************************************************************
MySql类封装:
首先连接数据库,需要有参数
参数如何传?
    1、可以用配置文件
    2、可以通过构造函数传参
**************************************************************/
class SqlHelper{
    private $host;
    private $user;
    private $pwd;
    private $dbName;
    private $charset;
    private $conn = null; //保存连接资源

    public function __construct(){
        $this->host  = 'localhost';
        $this->user = 'xuwm';
        $this->pwd = 'bW7LA2pMDAEtnVB7';
        $this->dbName = 'gamejj';
        $this->charset='utf8';
        //连接
        $this->connect($this->host, $this->user, $this->pwd);
        //选库
        $this->switchDb($this->dbName);
        //设置字符集
        $this->setChar($this->charset);
    }

    //负责连接
    private function connect($host, $user, $pwd){
        $conn = mysql_connect($host, $user, $pwd);
         if (!$conn) {
            echo "Unable to connect to DB: " . mysql_error();
            exit;
        }
        $this->conn = $conn;
    }

    //选库
    public function switchDb($db){
        $sql = 'use ' . $db; //注意user 和 ' 有一个空格
        $this->query($sql);
    }

    //设置字符集
    public function setChar($char){
        $sql = 'set names ' . $char;
        $this->query($sql);
    }

    //关闭连接
    public function close(){
        mysql_close($this->conn);
    }

    //负责发送sql查询
    public  function query($sql){
        $result = mysql_query($sql, $this->conn);
        return $result;
    }

    //获取多行多列的select结果
    public function getAll($sql){
        $list  = array();
        $result = $this->query($sql);
        if(!$result)
            return false;
        while($row= mysql_fetch_assoc($result)){
            $list[] = $row;
        }
        return $list;
    }

    //获取一行数据 常用于 聚合函数
    public function getRow($sql){
        $result = $this->query($sql);
        if(!$result)
            return false;
        $row= mysql_fetch_assoc($result);
        return $row;
    }

     //获取一个值
    public function getOne($sql){
        $result = $this->query($sql);
        if(!$result)
            return false;
        $row= mysql_fetch_row($result);
        return $row[0];
    }

}

//$mysql = new SqlHelper();
/*
var_dump($mysql);
$sql = "insert goods values(1121, 4, '苹果')";
$mysql->query($sql);

$sql = 'select * from goods';
$list = $mysql->getAll($sql);
var_dump($list);


$sql = 'select * from goods where goods_id=4';
$list = $mysql->getRow($sql);
var_dump($list);


$sql = 'select count(*) from goods';
$list = $mysql->getOne($sql);
var_dump($list);
*/

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
缓存 NoSQL 关系型数据库
13- Redis和Mysql如何保证数据⼀致?
该内容讨论了保证Redis和MySQL数据一致性的几种策略。首先提到的两种方法存在不一致风险:先更新MySQL再更新Redis,或先删Redis再更新MySQL。第三种方案是通过MQ异步同步以达到最终一致性,适用于一致性要求较高的场景。项目中根据不同业务需求选择不同方案,如对一致性要求不高的情况不做处理,时效性数据设置过期时间,高一致性需求则使用MQ确保同步,最严格的情况可能涉及分布式事务(如Seata的TCC模式)。
37 6
|
20天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
|
27天前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
21 0
|
30天前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
20 1
|
30天前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
24 1
|
30天前
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
15 1
|
30天前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
21 1
|
30天前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
22 2
|
30天前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
1月前
|
SQL 安全 关系型数据库
MySQL安全性:防止攻击和保护数据
MySQL安全性:防止攻击和保护数据
38 1