php数据访问:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php

//建一个连接,造一个连接对象
$db = new MySQLi("localhost","root","123","mydb");

//判断是否出错
/*if(mysqli_connect_error())
{
echo "连接失败!";
exit;
}*/

mysqli_connect_error()?die("连接失败"):"";

//写SQL语句
$sql = "select * from Info";

//执行SQL语句,返回结果集对象
$reslut = $db->query($sql);

//从结果集中读取数据,返回数组
//$attr = $reslut->fetch_all(); //读取所有数据,返回索引二维数组

//$attr = $reslut->fetch_array(); //读取当前指针指向的数据,返回索引关联都存在的数组

//$attr = $reslut->fetch_assoc(); //返回关联数组

//$attr = $reslut->fetch_row(); //返回索引数组

//$attr = $reslut->fetch_object(); //返回对象
/*$arr = array();
while($attr = $reslut->fetch_row())
{
array_push($arr,$attr);
}

var_dump($arr);*/

?>

</body>
</html>

  封装:

<?php
//建一个封装类的文件DBDA.class.php

class DBDA//定义一个类,类名为DBDA
{
public $host="localhost";//4个比较常用的参数:服务器地址
public $uid="root";//用户名
public $pdw="666";//密码
public $dbname="toupiao";//数据库名称

//封装方法
//1.返回二维数组的方法
/**
*给一个sql语句,返回执行的结果
*@param string $sql 用户指定的sql语句
*@param int $sql用户给的语句类型,0代表增删改,1代表查询。一般查询使用的比较多,让$type的默认值为1.如果是增删改再改$type的值。
*@return array 返回查询的结果,如果是查询,返回二维数组。如果是增删改,返回$result。
*/
function Query($sql,$type=1)
{
//造连接对象
$db = new MySQLi("$this->host","$this->uid","$this->pdw","$this->dbname");

//执行sql语句
$result = $db->query("$sql");

//从结果集对象里取数据。查询单独做一个方法,其它做另一个方法。
if($type==1)//如果是查询
{
return $result->fetch_all();//返回查询的二维数组
}
else//如果是增删改
{
return $result;//返回$result
}
}
}
?>

   引用到界面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>

<?php
include("DBDA.class.php");//将封装的类引入此页面
$db = new DBDA();//新建一个对象
$sql = "select * from info";
var_dump($db->Query($sql));//第2个参数不写的话就是查询,因为默认值是1.
?>

</body>
</html>

php的数据访问和封装运用的更多相关文章

  1. UDP(socket)数据访问和封装情况C++代码

     配置QT下的pro文件 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt   LIBS += -lWs2_32 ...

  2. delphi(假三层之数据访问层)(第一天)

    本论文主要是通过三天来讲解三层的结构,今天是第一天,先讲解一下delphi下的Models层,我主要封装了两个查询得到数据集的函数,主要是通过在表示层上创建的数数据集控件传递进来,通过业务逻辑对语句的 ...

  3. web前端与后台数据访问的对象封装

    前言:通常情况下,在不使用angularJS/nodeJS/react等这类完整性的解决方案的js时,前端与后台的异步交互都是使用Ajax技术进行解决 一:作为java web开发工程师可能以下代码是 ...

  4. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  5. 解析大型.NET ERP系统数据访问 对象关系映射框架LLBL Gen Pro

    LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. ...

  6. 在WCF数据访问中使用缓存提高Winform字段中文显示速度

    在我们开发基于WCF访问方式的Winform程序的时候,一般情况下需要对界面显示的字段进行中文显示的解析.如果是硬编码进行中文显示,那么除了不方便调整及代码臃肿外,性能上没有什么问题,但是不建议这样处 ...

  7. hibernate 入门([数据访问中间件] 开源框架)

    1.内容:  hibernate 也是一个经典的[数据访问中间件] 开源框架.    2.hibernate核心组件       SessionFactory[整个数据的操作]重量级组件       ...

  8. ContentProvider数据访问详解

    ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一 ...

  9. C#-ade.net-实体类、数据访问类

    实体类.数据访问类 是由封装演变而来,使对数据的访问更便捷,使用时只需要调用即可,无需再次编写代码 实体类是按照数据库表的结构封装起来的一个类 首先,新建文件夹 App_Code ,用于存放数据库类等 ...

随机推荐

  1. LRU Cache java实现

    要求: get(key):如果key在cache中,则返回对应的value值,否则返回null set(key,value):如果key不在cache中,则将该(key,value)插入cache中( ...

  2. python安装pillow模块错误

    安装的一些简单步骤就不介绍了,可以去搜索一下,主要就记录下我在安装pillow这一模块遇到的问题 1:安装好pillow后,安装过程没有出错 2:但是在python的IDLE输入from PIL im ...

  3. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  4. hust1010 kmp

    There is a string A. The length of A is less than 1,000,000. I rewrite it again and again. Then I go ...

  5. jQuery生成元素(table)并绑定样式和事件

    L略有重复

  6. 白话C#语法新特性之元组

    1.元组(Tuples) 元组(Tuple)在4.0 的时候就有了,但元组也有些缺点,如: 1)Tuple 会影响代码的可读性,因为它的属性名都是:Item1,Item2.. . 2)Tuple 还不 ...

  7. POJ2635-The Embarrassed Cryptographer 大数求余

    题目链接:http://poj.org/problem?id=2635 题目分析: http://blog.csdn.net/lyy289065406/article/details/6648530

  8. Spring AOP的切入点表达式

    在spring Aop中要使用AspectJ的切点表达式语言来定义切点.Spring仅仅支持AspectJ切点指示器的一个子集.下表列出了Spring AOP所支持的AspectJ切点指示器. 在Sp ...

  9. System.load 与 System.loadLibrary 的使用

    相同点 它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件. 在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载. System.load System.load 参 ...

  10. 区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..

    在做一些测试工作的时候, 为了方便控制以及更快的进入真正的测试工作,可能需要搭建一个私有的以太坊网络. 而以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有 ...