1. php 求一个mysqli的db类注释尽可能的多,初学小白
mysqli一个最简单的例子,要深入封装的话可以自己再增加...
其实个人觉得mysqli已经没什么必要封装了.....
<?php
classdb{ //类名
public$con; //定义句柄
public$result; //结果存取
publicfunction__construct($Host,$User,$Pass,$DB){ //构建函数
$this->con=newmysqli($Host,$User,$Pass,$DB); //调用mysqli类
if($this->con->connect_error){ //判断是否有错误,有错误则返回连接错误代号和错误内容
returnarray($this->con->connect_errno,$this->con->connect_error);
}
}
publicfunctionquery($sql,$type=''){ //执行查询,$sql为查询语句,$type为resultmode[MYSQLI_USE_RESULT]OR[MYSQLI_STORE_RESULT]执行成功返回true,否则返回false
$this->result=empty($type)?$this->con->query($sql):$this->con->query($sql,$type);
return!$this->result?false:true;
}
publicfunctioninsertid(){ //必须先进行query才能获得插入或更新的id
return$this->con->insert_id;
}
publicfunctionfetch($n,$t){//获取结果集,$n必选[array][assoc][field_direct][field][fields][object][row][all],$t为$n对应的可选参数,成功返回结果集
$f='fetch_'.$n;
return$this->result->$f($t);
}
publicfunction__destruct(){ //销毁函数
if($this->result)$this->result->close();
if($this->con)$this->con->close();
}
publicfunctionGetError(){ //获取错误
returnarray($this->con->errno,$this->con->error);
}
}
$db=newdb('127.0.0.1','','','test');
if(!$db->query("insertintotb(`time`,`amount`)values('1420085532','300')")){
var_mp($db->GetError());
die();
}
echo$db->insertid(),PHP_EOL;
$db->query('select*fromtb');
while($arr=$db->fetch('array',MYSQLI_NUM)){
echo$arr['0'],'',$arr['1'],'',$arr['2'],'',PHP_EOL;
}
2. php查找MySQL中某张表的数据,如何封装为json数组
$sql
=
"SELECT*
FROM
table1
";//查询表table1
$result
=
mysqli_query($conn,$sql);//将表与数据库连接
$output
=
[];
//用于盛放查询到的商品
while(($row=mysqli_fetch_assoc($result))!==null){
$output[]
=
$row;
}
echo
json_encode($output);//输出查询到的数据
3. PHP访问MYSQL数据库封装类(附函数说明)
复制代码
代码如下:
<?php
/*
MYSQL
数据库访问封装类
MYSQL
数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象
访问方式,本封装类以mysql_封装
数据访问的一般流程:
1,连接数据库
mysql_connect
or
mysql_pconnect
2,选择数据库
mysql_select_db
3,执行SQL查询
mysql_query
4,处理返回的数据
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
0
;
//当前页面进程查询数据库的次数
var
$dblink
;
//数据库连接资源
//链接数据库
function
connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0
,
$halt=true)
{
$func
=
empty($pconnect)
?
'mysql_connect'
:
'mysql_pconnect'
;
$this->dblink
=
@$func($dbhost,$dbuser,$dbpw)
;
if
($halt
&&
!$this->dblink)
{
$this->halt("无法链接数据库!");
}
//设置查询字符集
mysql_query("SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink)
;
//选择数据库
$dbname
&&
@mysql_select_db($dbname,$this->dblink)
;
}
//选择数据库
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this->dblink);
}
//执行SQL查询
function
query($sql)
{
$this->querynum++
;
return
mysql_query($sql,$this->dblink)
;
}
//返回最近一次与连接句柄关联的INSERT,UPDATE
或DELETE
查询所影响的记录行数
function
affected_rows()
{
return
mysql_affected_rows($this->dblink)
;
}
//取得结果集中行的数目,只对select查询的结果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//获得单格的查询结果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作产生的
ID,只对表有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this->dblink))
>=
0
?
$id
:
$this->result($this->query("SELECT
last_insert_id()"),
0);
}
//从结果集提取当前行,以数字为key表示的关联数组形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//从结果集提取当前行,以字段名为key表示的关联数组形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//从结果集提取当前行,以字段名和数字为key表示的关联数组形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//关闭链接
function
close()
{
return
mysql_close($this->dblink)
;
}
//输出简单的错误html提示信息并终止程序
function
halt($msg)
{
$message
=
"<html>\n<head>\n"
;
$message
.=
"<meta
content='text/html;charset=gb2312'>\n"
;
$message
.=
"</head>\n"
;
$message
.=
"<body>\n"
;
$message
.=
"数据库出错:".htmlspecialchars($msg)."\n"
;
$message
.=
"</body>\n"
;
$message
.=
"</html>"
;
echo
$message
;
exit
;
}
}
?>
4. PHP5与MySQL5从入门到精通的内容简介
本书内容精简而翔实,针对使用PHP5与MySQL5进行Web应用开发必须掌握的基础和核心技术,进行了详细介绍。所选实例实用性强,极具代表性,第一个实例的功能逻辑较为简单,通过这个实例可以使读者掌握用PHP5与MySQL5进行Web开发的完整流程。第二个实例的功能逻辑比较复杂,功能模块较多,通过该实例介绍了复杂应用系统开发的过程,并介绍了数据库连接类、分页类等常用类的封装以及文件包含技术的应用,同时,还介绍了Aiax技术的应用。通过一易一难两个实例,读者能够迅速掌握用PHP5与MySQL 5进行Web应用开发的核心实用技术。
5. php封装一个class类,实现mysql数据库的增删改查怎么操做
class sqlHelper{ x0dx0a public $conn; x0dx0a public $dbname="数据库名称"; x0dx0a public $username="数据库用户名"; x0dx0a public $password="数据库密码"; x0dx0a public $host="localhost"; x0dx0a //连接数据库 x0dx0a public function __construct(){ x0dx0a $this->conn=mysql_connect($this->host,$this->username,$this->password); x0dx0a if(!$this->conn){ x0dx0a die("连接失败".mysql_error()); x0dx0a } x0dx0a mysql_select_db($this->dbname,$this->conn); x0dx0a } x0dx0a //执行查询语句 x0dx0a public function execute_dql($sql){ x0dx0a $res=mysql_query($sql,$this->conn); x0dx0a return $res; x0dx0a } x0dx0a //执行增填改语句 x0dx0a public function execute_dml($sql){ x0dx0a $b=mysql_query($sql,$this->conn); x0dx0a if(!$b){ x0dx0a return 3; x0dx0a }else{ x0dx0a if(mysql_affected_rows($this->conn)){ x0dx0a return 1;//表示OK x0dx0a }else{ x0dx0a return 2;//表示没有行收到影响 x0dx0a } x0dx0a } x0dx0a }x0dx0a}