SqlHelper类怎么在php中使用
SqlHelper类怎么在php中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
文档目录结构如下:
SqlHelper.php代码如下:
mysqli=newMySQLi(self::$host,self::$user,self::$pwd,self::$db); if($this->mysqli->connect_error){ die("连接数据库失败!".$this->mysql->connect_error); } $this->mysqli->query("setnamesutf8"); } functionexecute_dql_all($sql){ //执行查询语句 $arr=array(); $this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error); //将数据转存到$arr数组中 while($row=mysqli_fetch_array($this->result,MYSQL_BOTH)){ $arr[]=$row; } $this->result->free(); return$arr; } functionexecute_dql_num($sql){ //执行查询语句 $arr=array(); $this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error); //将数据转存到$arr数组中 while($row=mysqli_fetch_array($this->result,MYSQLI_NUM)){ $arr[]=$row; } $this->result->free(); return$arr; } functionexecute_dql_assoc($sql){ //执行查询语句 $arr=array(); $this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error); //将数据转存到$arr数组中 while($row=mysqli_fetch_array($this->result,MYSQLI_ASSOC)){ $arr[]=$row; } $this->result->free(); return$arr; } //查询某表中的记录数 functionexecute_dql_counts($table,$id="*"){ $this->sql="selectcount($id)from$table"; $this->result=$this->mysqli->query($this->sql); $row=mysqli_fetch_all($this->result); $this->result->free(); return$row[0][0]; } functionexecute_dml($sql){ //执行正删改 $this->result=$this->mysqli->query($sql); if(!$this->result){ return-1;//执行正删改失败 }else{ if($this->mysqli->affected_rows>0){ return1;//执行正删改成功,影响行数 }else{ return0;//执行正删改成功,但没有影响行数 } } } }
Paging.php代码如下:
sqlHelper=newSqlHelper(); $this->returnArr=array(); } /* *参数说明 * *$table分页时对那个表的数据分页 *$id辅助查询当前分页的数据表的总记录数 *$pageSize每页显示多少条信息记录数 *$pagingSize分页栏每次循环显示出来的个数 *$nowPage当前是第几页,默认第一页 *$href分页栏的超链接将要往哪里连接 */ functionpaging_prev_next($table,$id="*",$pageSize,$pagingSize,$nowPage=1,$href){ $this->counts=$this->sqlHelper->execute_dql_counts($table,$id); $this->pageCount=ceil($this->counts/$pageSize); $this->returnArr["count"]=$this->counts; $this->returnArr["start"]=($nowPage-1)*$pageSize; $this->returnArr["limit"]=$pageSize; if($nowPage>$this->pageCount||$nowPage<=0){ returnfalse; } $t=(ceil($nowPage/$pagingSize)-1)*$pagingSize+1; $pre=$nowPage-$pagingSize; $nex=$nowPage+$pagingSize; echo"{$nowPage}/{$this->pageCount} <"; for($i=$t;$i<$t+$pagingSize;$i++){ if($i*$pageSize>$this->pageCount*$pageSize){ break; }else{ if($nowPage==$i){ echo" {$i}"; }else{ echo" {$i}"; } } } echo" >"; return$this->returnArr; } }
paging-list-link.css代码如下:
/** *CreatedbyJetBrainsPhpStorm. *User:lee *Date:13-7-27 *Time:下午5:56 *TochangethistemplateuseFile|Settings|FileTemplates. */ .paging-list-a{ border:1pxsolid#b5b5af; background-color:#efebed; font-family:'MeiryoUI'; font-size:16px; font-weight:600; padding:0px8px0px8px; /*cursor:pointer;*/ text-decoration:none; color:#292927; } .paging-list-a-withBg{ background-color:#1D92E2; color:white; }
usePaging.php代码如下:
paging_prev_next("city","ID",$meiyexiansi,$meiyelianjieshu,$nowPage,"usePaging.php"); //容错判断 if(!$receiveArr){ return; } //查询每页需要显示的数据,大小限制存在$receiveArr数组中 $sqlHelper=newSqlHelper(); $result=$sqlHelper->execute_dql_num("select*fromcitylimit".$receiveArr['start'].",".$receiveArr['limit'].""); echo" "; print_r($result); echo""; ?>
所使用的数据库为 MySQL5.6 所自带的 world 数据库
下面是运行的效果截图:
不过代码还有个 Bug 。就是翻页到最后的时候会出现显示不了,原因在于 Paging.php 文件的 41~43 行左右判断有问题。
错误代码如下:
if($nowPage>$this->pageCount||$nowPage<=0){ returnfalse; }
看完上述内容,你们掌握SqlHelper类怎么在php中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
推荐阅读
-
Linux中如何安装和使用 PHP 开发环境
-
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
-
php如何判断字符串是否有中文
php如何判断字符串是否有中文本文小编为大家详细介绍“php如何判...
-
php如何实现字符串去掉头尾
php如何实现字符串去掉头尾这篇“php如何实现字符串去掉头尾”文...
-
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
-
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
-
php字符串长度不一致如何解决
php字符串长度不一致如何解决本篇内容主要讲解“php字符串长度不...
-
php时区不正确如何解决
php时区不正确如何解决本文小编为大家详细介绍“php时区不正确如...
-
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
-
php explode报错如何解决
phpexplode报错如何解决这篇文章主要介绍“phpexp...