用类封装的一个数据库的操作,不仅安全,而且会省去很多代码。

 header('Content-type:text/html;charset="utf-8"');
class mysql{
/*下面是私有字段*/
private $host; //表示mysql服务器
private $user; //表示用户名
private $pass; //表示密码
private $database; //表示数据库名
private $charset; //表示字符集 /*私有方法:连接数据库*/
private function _connect(){
if(!mysql_connect($this->host,$this->user,$this->pass)){
exit('连接数据库服务器失败!');
}
mysql_select_db($this->database);
mysql_query("SET NAMES $this->charset");
} /*析构方法:赋值给私有字段*/
public function __construct($_host,$_user,$_pass,$_database,$_charset){
$this->host= $_host;
$this->user= $_user;
$this->pass= $_pass;
$this->database= $_database;
$this->charset= $_charset;
$this->_connect();
} /*查询sql语句的方法*/
public function select($sql,$table){
$select = mysql_query("SELECT $sql From $table");
return $select;
} /*返回关联数组*/
public function my_fetch_arr($_result,$result_type){
$rows = mysql_fetch_array($_result,$result_type);
return $rows;
} /*插入sql语句的方法*/
public function insert($table,$col,$value){
if (!mysql_query("INSERT INTO $table($col)values($value)")){
exit('插入数据时出现错误!');
}
} /*更新sql语句的方法*/
public function update($table,$col,$new_value,$colm,$values){
if (!mysql_query("UPDATE $table SET $col=$new_value where $colm=$values")){
exit('更新数据时出现错误!');
}
} /*删除sql语句的方法*/
public function delete($table,$col,$values){
if (!mysql_query("DELETE FROM $table where $col=$values")){
exit('删除数据时出现错误!');
}
} /*关闭连接方法*/
public function _close(){
mysql_close();
} }
//类的实例化,且运行了析构方法__construct();
$mysql = new mysql("localhost","root","chang123","school","UTF8"); //执行了查询语句并将结果赋给$_result
$_result = $mysql->select("*","grade");
//返回从结果集中取的一行生成的关联数组或数字数组
$rows = $mysql->my_fetch_arr($_result,MYSQL_ASSOC); //关闭数据库连接
$mysql->_close();

自己写的PHP的mql类的更多相关文章

  1. 我写的一个ExcelHelper通用类,可用于读取或生成数据

    读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三 ...

  2. 我写了一个java实体类,implements了Serializable接口,然后我如何让serialversionUID自动生成

    写了一个java实体类,implements了Serializable接口,让serialversionUID自动生成方法: 1.点击类旁边的警告符号: 2.选择Add generated seria ...

  3. 重复造轮子,编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)

    一说到写日志,大家可能推荐一堆的开源日志框架,如:Log4Net.NLog,这些日志框架确实也不错,比较强大也比较灵活,但也正因为又强大又灵活,导致我们使用他们时需要引用一些DLL,同时还要学习各种用 ...

  4. 使用回调方式写POI导入excel工具类

    场景是这样的:为了做一个excel导入的功能,为了尽可能的写一个通用的工具类,将与poi有关的东西都封装起来,以便以其他人员只用关心自己的业务,不用和poi打交道. 写到最后,现在还是会有poi的东西 ...

  5. class 写在 import的位置 类的名字第一个字母大写 后面没括号 ES6

    class 写在 import的位置 类的名字第一个字母大写 后面没括号 class ObTableDataClass {}或者 const ObTableDataClass = class { in ...

  6. 自己手写的自动完成js类

    在web开发中,为了提高用户体验,会经常用到输入框的自动完成功能,不仅帮助用户进行快速输入,最重要的是帮助那些“记不全要输入什么”的用户进行选择.这个功能有很多插件已经实现了,为了适应项目的特殊需求, ...

  7. 实体写到redis写不进去--误把类当成实体类

    之前一直都把实体写入redis都没有问题,今天再次这样干,结果却是怎么写都写不进去,redis里的值老是为空 最后才发现把类当成了实体类,当然写不进去了. 把类: /// <summary> ...

  8. 多年前写的DataTable与实体类的转换,已放github

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 起因 代码 UnitTest G ...

  9. php 自己写的好看的分页类

    自己写的一个分页类 ,不是很完整,个别没有做验证,但可以使用,分页效果见文章底部.除了链接数据库的代码没有粘贴上来,其他的都粘贴了.供学习使用- <?php /** * Created by P ...

随机推荐

  1. win 2016 添加系统组件注册表,

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\ServicingS ...

  2. Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

    一.spring依赖注入使用方式 @Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byT ...

  3. python之openpyxl模块

    一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...

  4. C++基础 (10) 第十天 C++中类型转换 异常 栈解旋 io操作

    1之前内容的回顾 C语言中的类型转换(int)a  强转可读性太差了 C++把()拆分成了四种转换方式 static_cast static_cast在编译器编译阶段就进行转换了 2.dynamic_ ...

  5. HDU 1021 Fibonacci Again( 同余水 )

    链接:传送门 题意:现在给出 Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).问第 n 项能不能整除 ...

  6. Linux设备驱动--块设备(四)之“自造请求”(转)

    前面, 我们已经讨论了内核所作的在队列中优化请求顺序的工作; 这个工作包括排列请求和, 或许, 甚至延迟队列来允许一个预期的请求到达. 这些技术在处理一个真正的旋转的磁盘驱动器时有助于系统的性能. 但 ...

  7. Python包结构和函数式编程

    # 包的结构 |--包 |--|-- __init__.py 包的标志文件 |--|-- 模块1 |--|-- 模块2 |--|-- 子包(子文件夹) |--|--|-- __init__.py 包的 ...

  8. String 基本使用方法, 以及要注意的事项

    package chengbaoDemo; public class Test01 { public static void main(String[] args) { //字符串的两种创建形式 St ...

  9. hrift does not support polymorphic data types

    hrift does not support polymorphic data types Exception in thread "main" com.facebook.swif ...

  10. [HTML5] a tag, rel="noopener"

    It is a good pratice to add ref="noopener" <a href="/some/domain" target=&quo ...