仅支持基本增删改查的学生自制php操作mysql的工具类 DB.class.php (学生笔记)
- <?php
- class DB{
- //主机地址
- var $host;
- //用户名
- var $username;
- //密码
- var $password;
- //数据库名
- var $dbname;
- //字符集
- var $charset;
- //数据库连接对象,主要用在mysql_query($sql,$this->con);
- private $con;
- //外界获取的mysqlDB类操作对象
- public static $dao;
- //获得mysqlDB类对象(单例)
- public static function getInstance($config){
- if(!isset(self::$dao)){
- self::$dao = new self($config);
- }
- return self::$dao;
- }
- //private禁止外部new,减少new带来的开销,并设置默认的配置。
- private function __construct($config){
- $this->host = isset($config['host'])?$config['host']:'localhost';
- $this->port = isset($config['port'])?$config['port']:'3306';
- $this->username = isset($config['username'])?$config['username']:'root';
- $this->password = isset($config['password'])?$config['password']:'root';
- $this->dbname = isset($config['dbname'])?$config['dbname']:'test';
- $this->charset = isset($config['charset'])?$config['charset']:'utf8';
- //连接数据库
- $this->con = $this->connect();
- //设置数据库名,默认为test
- $this->useDb($this->dbname);
- //设置字符集,默认为utf8。
- $this->setCharset($this->charset);
- }
- //禁止外部克隆
- private function __clone(){
- }
- //连接不成功在这个分段找。
- //////////////////////////////////////////////////////
- //连接数据库
- public function connect(){
- $con =
- mysql_connect("$this->host:$this->port","$this->username","$this->password") or die("连接数据库失败");
- return $con;
- }
- //1.执行增、删、改sql语句
- public function exec($sql){
- $res = mysql_query($sql,$this->con);
- if($res){
- // echo "<br/>sql语句:".$sql."<br>";
- // var_dump($res);
- return true;
- //要是增删改有问题可以在这里输出sql调试。
- }else{
- echo "<br/>sql语句:".$sql;
- echo "<br/出错信息>:".mysql_error();
- echo "<br/出错代码>:".mysql_errno();
- exit;
- }
- }
- //额外设置字符集
- public function setCharset($charset){
- $sql = "set names '$charset'";
- $this->exec($sql) or die("set");
- //die();
- }
- //额外设置数据库
- public function useDb($dbname){
- $sql = "use $dbname";
- $this->exec($sql) or die("use");//or die()函数前面需返回对应的true或false;
- }
- ////////////////////////////////////////////////////////
- //查找出错在这个部分找。
- //4.将查到的结果集转为单个数据,这里是索引数组的第一个字段。
- public function getOne($sql){
- $rec = mysql_query($sql,$this->con);
- $res = mysql_fetch_row($rec);
- if($res){
- return $res[0];
- }else{
- return false;
- }
- }
- //可能修改的函数全部放在上面,以便查找。下方函数基本不会修改。
- //编号1~4是高频率使用的函数。
- //2.获取一行数据(一维)
- public function getRow($sql){
- $rec = mysql_query($sql,$this->con);
- $res = mysql_fetch_assoc($rec);
- if($res){
- return $res;
- }else{
- return false;
- }
- }
- //3.获取所有数据(二维)
- public function getAll($sql){
- $rec = mysql_query($sql,$this->con);
- $arr = array();//定义 一个数组
- while($res = mysql_fetch_assoc($rec)){
- $arr[] = $res;
- }
- if($arr){
- return $arr;
- }else{
- return false;
- }
- }
- }
- $dao = DB::getInstance(null);
- ?>
- <?php
- include_once("DB.class.php");
- $sql = "select * from goods where id = 1";
- //.获取一行数据(一维)
- $res = $dao->getRow($sql); var_dump($res);
- //以上的getRow函数只是举例,具体如何使用这个工具,首先要在php文件中include这个工具类,即include_once("DB.class.php");
- //1.要看sql语句查回的数据是一维的,还是二维的,或者单个数据。
- //对应的函数是getROW,getAll,getOne。
//2.增删改统一用exec。
//3.数据库的连接配置在构造构造函数中修改。- ?>
注意事项:
1.文件DB.class.php建好后。
2.在需要操作数据库接的文件中include这个文件,上面有示例。
3.使用之前必须把数据库名改成当前项目数据库名。这个是最重要的,也是最容易忘记的。
仅支持基本增删改查的学生自制php操作mysql的工具类 DB.class.php (学生笔记)的更多相关文章
- 创建支持CRUD(增删改查)操作的Web API(二)
一:准备工作 你可以直接下载源码查看 Download the completed project. 下载完整的项目 CRUD是指“创建(C).读取(R).更新(U)和删除(D)”,它们是四个 ...
- 1、list 的一些相关操作 2、增删改查 3、tuple 的操作 4、range
1. list(增删改查) 列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开 列表和字符串一样.也有索引和切片 # lst = [1, "周杰伦" ...
- IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)
原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...
- 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...
- 用户增删改查 django生命周期 数据库操作
一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...
- mysql数据库终端上的增删改查及权限等相关操作
ctrl + c 终止 [linux] service mysql start 启动mysql service mysql stop 停止mysql service mysql restart 重启m ...
- Android学习笔记_9_SQLiteOpenHelper对象之数据库增删改查以及事务回滚操作
一.SQLite数据库: 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进 ...
- DOM节点的增删改查以及class属性的操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux - 用户的增删改查及组的相关操作
useradd:新增一个用户 useradd 几个常用的参数: -u:指定用户的 uid -g:指定用户所属的组 -d:指定用户的家目录 -c:指定用户的备注信息 -s:指定用户所用的 shell [ ...
随机推荐
- 【Oracle】datafile的resize大小确认方法
在对Oracle的表进行删除操作的时候,虽然数据被清空了,但是物理上占用的空间却没有被释放掉,这有可能使我们的DB服务器的物理存储始终在增长. 我们在删除用户,表的同时也要对datafile文件进行r ...
- mysql workbench 报错:Can't analyze file, please try to change encoding type...
Mysql workbench 导入csv can't analyze file 原因: workbench 识别csv第一行作为column名,column名不能为中文,所以报错.解决方法:csv第 ...
- HTML51-清除浮动overflow、网易注册界面基本结构搭建
一.overflow:hidden;作用 (1)可以将超出标签范围的内容裁剪掉 (2)清除浮动 .box1{ background-color: red; /*border:1px white sol ...
- koa2 从入门到进阶之路 (七)
之前的文章我们介绍了一下 koa koa-static静态资源中间件,本篇文章我们来看一下 koa 中 cookie 和 session 的使用. cookie 是存储于访问者的计算机中的变量.可以让 ...
- #w30 2019年大前端技术周刊
本周是2019年第30周 会议 2019年ArchSummit全球架构师峰会 2019年7月在深圳举行了ArchSummit全球架构师峰会,里面有不少关于大前端的主题可以关注. 从0到1,移动政务应用 ...
- PHP给图片加上图片水印和文字水印实例
下面给大家分享一下PHP给图片加上图片水印和文字水印实例,这也是网站经常用到的功能,把代码加上去,调用就很简单了. 核心代码: function imageWaterMark($groundImage ...
- Spring Boot 2 单元测试
开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 IDEA新建一个Spring Boot项目后,pom.xml默认包含了Web应用和单元测试两个依赖包.如下 ...
- Django 模板变量之 forloop
1. 模板变量之forloop.counter:从1开始自增1 模板代码如下: {% for row in v %} <tr> <td>{{forloop.counter}}& ...
- 如何为 Automatic Undo Management 调整 UNDO Tablespace 的大小 (Doc ID 262066.1)
How To Size UNDO Tablespace For Automatic Undo Management (Doc ID 262066.1) APPLIES TO: Oracle Datab ...
- elementUI+Vue实现管理系统的登录页面
<template> <div class="maxbox"> <div id="appp"> <vue-partic ...