php 之mysqli简单封装
1:DBHelper.class.php
<?php
class DBHelper{
private $mysqli;
private static $host='127.0.0.1';
private static $user='root';
private static $pwd='mysql';
private static $dbname='test'; //通过构造方法进行初始化操作
public function __construct(){
$this->mysqli=new mysqli(self::$host,self::$user,self::$pwd,self::$dbname)
or die('数据库链接出错:'.$this->mysqli->connect_error);
//设置数据库编码为utf8
$this->mysqli->query('set names utf8');
} //执行查询语句
public function execute_dml($sql){
$arr=array();
$result=$this->mysqli->query($sql) or die($this->mysqli->error);
if($result){
while($row=$result->fetch_assoc()){
//将查询结果封装到一个数组中,返回给方法调用处
$arr[]=$row;
}
//释放查询结果资源
$result->free();
}
return $arr;
} //执行增加、删除、更新语句
public function execute_dql($sql){
$result=$this->mysqli->query($sql) or die($this->mysqli->error);
if(!$result){
return 0;//表示操作失败
}else{
if($this->mysqli->affected_rows>0){
return 1;//操作成功
}else{
return 2;//没有受影响的行
}
}
}
}
?>
2:使用案例index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
require_once('DBHelper.class.php');
$dbhelper=new DBHelper();
$sql='select id,name,age from user';
$users=$dbhelper->execute_dml($sql);
if(!empty($users)){
?>
<table style="width:80%;">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>操作</th>
</tr>
<?php
foreach($users as $user){
?>
<tr align='center'>
<td><?php echo $user['id'];?></td>
<td><?php echo $user['name'];?></td>
<td><?php echo $user['age'];?></td>
<td>
<a href="delete.php?id=<?php echo $user['id'];?>">Delete</a> |
<a href="show.php?id=<?php echo $user['id'];?>">Show</a>
</td>
</tr>
<?php }?>
</table>
<?php
}else{
echo '<h1>No result!</h1>';
}
?>
<hr/>
<a href="add.php" style="font-size:24px;font-weight:bold;">Add a new user</a>
</body>
</html>
php 之mysqli简单封装的更多相关文章
- Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池
前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...
- FMDB简单封装和使用
工具:火狐浏览器+SQLite Manager插件 ; Xcode; FMDB库; 效果: 项目地址: https://github.com/sven713/PackFMDB 主要参考这两篇博客: 1 ...
- Android--Retrofit+RxJava的简单封装(三)
1,继续接着上一篇的讲讲,话说如果像上一篇这样的话,那么我们每一次请求一个结构都要创建一堆的Retrofit对象,而且代码都是相同的,我们可以试试封装一下 先创建一个HttpMethods类,将Ret ...
- okhttp3 get post 简单封装
最近打算在新项目中使用 okhttp3, 简单封装了一下异步 get post 因为 CallBack 也是在子线程中执行,所以用到了 Handler public class MyOkHttpCli ...
- python网页请求urllib2模块简单封装代码
这篇文章主要分享一个python网页请求模块urllib2模块的简单封装代码. 原文转自:http://www.jbxue.com/article/16585.html 对python网页请求模块ur ...
- 对pymysql的简单封装
#coding=utf-8 #!/usr/bin/python import pymysql class MYSQL: """ 对pymysql的简单封装 "& ...
- iOS开发——UI篇OC篇&UITableView简单封装
UITableView简单封装 UITableView时iOS开发中使用最多也是最重的一个UI空间,其实在App Store里面的%80以上的应用都用到了这个控件,所以就给大家介绍一下,前面的文章中也 ...
- iOS sqlite 增删改查 简单封装(基于 FMDB)
/** * 对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * * 基于 FMDB * * 操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整 ...
- ADO简单封装(MFC)
简单封装了一下,不是很严谨. /************************************************************************/ /* INSTRUC ...
随机推荐
- Xamarin.Forms-VS安装调试错误
编译android项目报错检查android sdk 是否安装成功后发现报错如下图: 点击->工具->android sdk manager 报错 错误原因没有找到 android ...
- 移动web app开发框架
文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mo ...
- window.open的小技巧分享
今天再次谈起window.open是因为发现了一个比较好玩的小技巧,详细内容我们稍后详细说明. 聊到window.open,不得不说明一下他的使用方法,主要有两种形式: win ...
- hadoop2.2.0伪分布模式64位安装
hadoop2.2.0伪分布模式64位安装用到的软件:jdk-6u45-linux-x64.bin,hadoop-2.2.0.x86_64.tar.gz 修改主机名vim /etc/sysconfig ...
- Python读取txt文件
Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...
- DevExpress之进度条
progressBarControl和marqueeProgressBarControl 一.progressBarControl progressBarControl是一个进度条控件 几个重要参数 ...
- Cocos2D-x权威指南: CCNode类方法:
5.1.4 画图节点CCNode和图层CCLayer CCNode中提供的方法,在public块中的方法主要有下面几个部分: 1.针对节点显示的属性信息读写 2.针对节点变换的属性信息读写 3.针对子 ...
- event.getAction()&MotionEvent.ACTION_MASK的原因
看到下面代码中用了AND位运算是为了什么呢? public boolean onTouchEvent(MotionEvent event) { int action = event.getAction ...
- jQuery mouseover,mouseout事件多次执行的问题处理
控制鼠标移上移下事件,在使用Jquery 的mouseover,mouseout事件时,元素内部含有其它元素,会造成该事件多次的触发的情况. 问题解析 在用到mouseover和mouseout事件来 ...
- USB通讯协议 && 数据传输
USB2.0通讯协议(spalish) 1.包(packet) 包是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的.USB包由五部分组成,同步字段(sync).包标识符(PI ...