PHP语言 -- 封装连接数据库类

<?php

class DBDA
{
public $host = "localhost"; //服务器地址
public $uid = "root";//数据库用户名
public $pwd = "123";//数据库密码

//执行SQL语句,返回相应结果的函数
//$sql 是要执行的SQL语句
//$type 是SQL语句的类型,0代表增删改  1代表查询
//$db  代表要操作的数据库

pulic function Query($sql,$type=1,$db = "mydb")
{
//造连接对象
$conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);

//判断连接是否成功
!mysqli_connect_error() or die("连接失败");

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

//判断SQL语句类型
if($type==1)
{
//如果是查询语句,返回结果集的二维数组
return $result->fetch_all();
}
else
{
//如果是其他语句,返回true或false
return $result;
}

}

}

单条件查询

<body>
<div>
<form action="当前页面" method="post"> //造查询框和按钮

<div>
名称:
<input type="text" name="name"/>

<input type="submit" value="查询"/>
</div>

</form>
</div>
<br/>

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>//表头
<td>代号</td>
<td>名称</td>
<td>价格</td>
</tr>
<?php
include("DBDA.php");

$db = new DBDA();

$str="";
if(!empty($_POST["name"]))
{
$name = $_POST["name"];

if($name!="")  //空字符串也不是空的 需要判断
{
$str= $str." where Name like ‘%{$name}%‘"
}
}

//写SQL语句
$sql="select Code,Name,Price from Car".$str;

//调用类里面的query方法执行SQL语句
$attr = $db->Query($sql);

for($i =0;$i<count($attr);$i++)
{
$attr[$i]
echo "<tr><td>{$attr[$i][0]}</td><td>{$attr[$i][1]}</td><td>{$attr[$i][2]}</td></tr>";
}
?>
</table>
</body>

多条件查询 并且关键字高亮显示

<body>
<div>
<form action="当前页面" method="post"> //造查询框和按钮

<div>
名称:
<input type="text" name="name"/>
价格:
<input type = "text" name="price"/>
<input type="submit" value="查询"/>
</div>

</form>
</div>
<br/>

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>//表头
<td>代号</td>
<td>名称</td>
<td>价格</td>
</tr>
<?php
include("DBDA.php");

$db = new DBDA();

@$name = $_POST["name"];
@$price=$_POST["price"];

$tj1 = " 1=1";
$tj2 = " 1=1";
if($name!="")
{
$th1= " Name like ‘%{$name}%‘";
}

if($price!="")
{
$tj2=" Price ={$price}";
}

$str= " where".$tj1." and".$tj2;

//写SQL语句
$sql="select Code,Name,Price from Car".$str;

//调用类里面的query方法执行SQL语句
$attr = $db->Query($sql);

for($i =0;$i<count($attr);$i++)
{//关键字变色处理
$mc = str_replace($name,"<span style="color:red">{$name}</span>",$attr[$i][1]);
echo "<tr><td>{$attr[$i][0]}</td><td>{$mc}</td><td>{$attr[$i][2]}</td></tr>";
}
?>
</table>
</body>
时间: 2024-10-08 14:00:23

PHP语言 -- 封装连接数据库类的相关文章

非专业码农 JAVA学习笔记 3 抽象、封装和类(1)

抽象.封装和类(1)待续 首先声明,今天接了太多个电话,两个小时看书被打断多次,缩减为一个小时.不管了,走马观花也要看完几个小节: (一)抽象与封装:抽象-抽取和研究实际性问题加以考察(抽象-尼玛抽出对象…) 封装:相关操作封存在命名空间.类等 (二)java的类: 1.系统定义的类(用于import中引入) 类名 作用 Java.lang 语言包,默认加载 Java.io, In out:文件数据流操作产生的输入输出流 Java.util 低级工具,如时间data类,变成数组vector类,h

第四章:定义封装的类类型

就.NET平台而言,最基本的编程结构就是类类型. 类是由字段数据(通常叫做成员变量)以及操作这个数据的成员(构造函数,熟悉,方法,事件等)所构成的自定义类型. 注:类中的字段很少定义为公共(public)的,为了保护状态数据的完整性,最好将数据定义为私有(private)的或是受保护(protected)的. public class CDome { public int id; private int code; protected int pCode; public CDome(){} pu

架构-数据库访问-SQL语言进行连接数据库服务器-OLE:OLE

ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器-OLE:OLE Object Linking and Embedding,对象连接与嵌入,简称OLE技术.OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM).OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字.声音.图像.表格.应用程序等组合在一起. 1.

jQuery Ajax封装通用类 (linjq)

jQuery Ajax封装通用类 (linjq) $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1} * async 默认值: true.默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false. * 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. * t

简易高重用的jdbcutils工具封装实现类以及简易连接池实现

由于现在发现做个小项目都是导入n多的依赖包,很烦琐,只想快点开发完一个个的小需求项目,这个时候真心不想用框架,只能自己写个jdbcutils,虽然网上有很多有apache的,阿里的,但是感觉用过后都不怎么顺手,然后自己花了点时间写个新的,不喜勿喷 1.我们要写个resultset集合转成bean的回调接口,这个用过spring jdbc的人都知道这玩意 package org.framework.mvc.jdbc.bean; import java.sql.ResultSet; import j

iOS开发—音频的播放的简单介绍和封装工具类

iOS开发—音频的播放的简单介绍和封装工具类 一.音效的播放简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav&qu

微信公众号开发系列-Http请求封装基类

HttpHelper请求封装基类,支持get请求和POS请求,方便微信开发接口交互,为后面接口交互做准备. 1.HttpHelper帮助基类 [csharp] view plaincopy using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Net; using System.Net.Security; namespa

Directx11学习笔记【二】 将HelloWin封装成类

我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 MyWindow.h文件 1 /************************************************************************ 2 Directx11学习笔记[2] 将HelloWin封装成类 3 2016.01 by zhangbaochong 4 /

封装业务类

1.什么是业务类? 业务类:专门处理某项业务(事情) 2.业务类的作用? 把一些业务的业务逻辑封装起来,其它类需要处理这些业务的时候,直接调用业务类的方法就可以了 大大减少了其它类中的代码量,让代码看起来更整洁,可读性更好 3.业务类的规范 3.1 在类的上面,注明这个类的功能(作用) 让其它人一看到这个类就知道是干什么用的,减少沟通成本 1 // Created by XT on 16/7/31. 2 // Copyright © 2016年 XT. All rights reserved.