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 ...
随机推荐
- Qt编程之QString 处理换行
由于之间写过的一篇文章,Unix,windows,Mac里面的换行符不一样,导致处理也不一样,我现在要用QString以行分割(读取的文本文件的里面有换行符).所以要通吃这三种换行符 http://w ...
- PHP curl 模拟登陆
一个比较好的类: $cookie_file=tempnam("C:/users","tmp");生成以以tmp为前缀的文件. <?php define ( ...
- [LeetCode] 237. Delete Node in a Linked List 解题思路
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- Button 对象
<html> <form> <input type="button" value="提交" accesskey="b&q ...
- Javascript:阻止浏览器默认右键事件,并显示定制内容
在逛一些知名图片社区的时候,遇到自己心怡的图片,想要右键另存的时候,默认的浏览器菜单不见了,却出现了如:[©kevin版权所有]之类的信息: 今天在看Javascript事件默认行为相关的知识,所以, ...
- 【C#网络基础】C# get post请求
using KTCommon.Helper; using KTCommon.LOG; using System; using System.Collections.Generic; using Sys ...
- Java里的接口
Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现. Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如 ...
- 经常使用ARM汇编指令
一面学习,一面总结,一面记录. 以下是整理在网上找到的一些资料,简单整理记录一下,方便以后查阅. ARM处理器的指令集能够分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.载入/存储指令. ...
- Android的Recovery中font_10x10.h字库文件制作
任务是要汉化Android中的Recovery,就了解了bootable/recovery/minui/font_10x18.h这个英文字库的来历,最终汉化的时候并没有自己汉字字库,用的github上 ...
- 開始学习swift开发
近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.