各位老师请给指点,下面的工具类如果用mysqli封装,如何改写?

class SqlHelper {

public $conn;

public $dbname="chat";

public $username="root";

public $password="123";

public $host="localhost";

public function __construct(){

$this->conn=mysql_connect($this->host,$this->username,$this->password);

if(!$this->conn){

die("连接失败".mysql_error());

}

mysql_select_db($this->dbname,$this->conn);

}

//执行dql语句

public function execute_dql($sql){

$res=mysql_query($sql,$this->conn) or die(mysql_error());

return $res;

}

//执行dql语句,但是返回的是一个数组

public function execute_dql2($sql){

$arr=array();

$res=mysql_query($sql,$this->conn) or die(mysql_error());

//把$res=>$arr 把结果集内容转移到一个数组中.

while($row=mysql_fetch_assoc($res)){

$arr[]=$row;

}

//这里就可以马上把$res关闭.

mysql_free_result($res);

return $arr;

}

//考虑分页情况的查询,这是一个比较通用的并体现oop编程思想的代码

//$sql1="select * from where 表名 limit 0,6";

//$sql2="select count(id) from 表名"

public function exectue_dql_fenye($sql1,$sql2,$fenyePage){

//这里我们查询了要分页显示的数据

$res=mysql_query($sql1,$this->conn) or die(mysql_error());

//$res=>array()

$arr=array();

//把$res转移到$arr

while($row=mysql_fetch_assoc($res)){

$arr[]=$row;

}

mysql_free_result($res);

$res2=mysql_query($sql2,$this->conn) or die(mysql_error());

if($row=mysql_fetch_row($res2)){

$fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);

$fenyePage->rowCount=$row[0];

}

mysql_free_result($res2);

//把导航信息也封装到fenyePage对象中

$navigate="";

if ($fenyePage->pageNow>1){

$prePage=$fenyePage->pageNow-1;

$navigate="上一页 ";

}

if($fenyePage->pageNowpageCount){

$nextPage=$fenyePage->pageNow+1;

$navigate.="下一页 ";

}

$page_whole=10;

$start=floor(($fenyePage->pageNow-1)/$page_whole)*$page_whole+1;

$index=$start;

//整体每10页向前翻

//如果当前pageNow在1-10页数,就没有向前翻动的超连接

if($fenyePage->pageNow>$page_whole){

$navigate.="    <";

}

//定$start 1---》10 floor((pageNow-1)/10)=0*10+1 11->20 floor((pageNow-1)/10)=1*10+1 21-30 floor((pageNow-1)/10)=2*10+1

for(;$start

$navigate.="[$start]";

}

//整体每10页翻动

$navigate.="    >>  ";

//显示当前页和共有多少页

$navigate.=" 当前页{$fenyePage->pageNow}/共{$fenyePage->pageCount}页";

//把$arr赋给$fenyePage

$fenyePage->res_array=$arr;

$fenyePage->navigate=$navigate;

}

//执行dml语句

public function execute_dml($sql){

$b=mysql_query($sql,$this->conn) or die(mysql_error());

if(!$b){

return 0; //失败

}else{

if(mysql_affected_rows($this->conn)>0){

return 1;//表示执行ok

}else{

return 2;//表示没有行受到影响

}

}

}

//关闭连接的方法

public function close_connect(){

if(!empty($this->conn)){

mysql_close($this->conn);

}

}

}

请老师们指教,多谢!

php操作mysql工具类_PHP操作数据库的工具类相关推荐

  1. python操作MySQL 模拟简单银行转账操作

    一.基础知识 1.MySQL-python的安装 下载,然后 pip install 安装包 2.python编写通用数据库程序的API规范 (1).数据库连接对象 connection,建立pyth ...

  2. 阿里云mysql管理_阿里云数据库数据管理工具解读

    1.背景 阿里云数据库提供MySQL\SQL Server\PostgreSQL\PPAS引擎的在线数据库服务,所有数据库均免费提供了数据管理产品,提供对数据库的界面化管理操作.阿里云提供的数据管理是 ...

  3. php操作mysql的封装类_PHP封装的mysqli数据库操作类示例

    本文实例讲述了PHP封装的mysqli数据库操作类.分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里 ...

  4. php链接mysql编码错误_php 操作 mysql 数据库 编码 错误

    有两行相同的代码,来自不同的 php 文件,在对 MySql 数据库(UTF-8格式)操作时,一行代码正常,一行代码异常 代码1,异常 update ordersystem.product Set P ...

  5. php mysql难不难_PHP操作mysql数据库

    1)连接mysql $con = mysql_connect("localhost","root","12345"); if(!$con){ ...

  6. php获取mysql数据菜鸟_PHP操作数据库

    function con(){ // MYSQL连接参数 $dsn='mysql:host=127.0.0.1;dbname=hello;charset=utf8;port=3306;'; $dbna ...

  7. go操作mysql创建多对多_Django 数据库表多对多的创建和增删改查

    前面已经学习了在Django里面如何对单表的操作,同时也学习了1对多(单个外键)的表的操作.接下来,我们看看多对多(多个外键)的关系如何创建和管理. 比如说,我们有一个主机表,也有一个应用程序表,一个 ...

  8. java操作mysql导表_java导出数据库的全部表到excel

    本文实例为大家分享了java将某个数据库的表全部导出到excel中的方法,供大家参考,具体内容如下 第一步:如何用POI操作Excel @Test public void createXls() th ...

  9. jdbc basedao mysql_Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类

    mysql数据库的驱动jar包:mysql-connector-java-5.1.18-bin.jar sqlserver数据库的驱动jar包:sqljdbc.jar orcle数据库的驱动jar包: ...

  10. 使用sqlmetal工具自动生成SQL数据库的Linq类文件

    第一部:找到sqlmetal.exe. 运行cmd. 执行命令 cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5 ...

最新文章

  1. Ado.net连接池 sp_reset_connection 概念
  2. 台湾一校长震动所有中国人的演讲
  3. 微信小程序---转发分享功能
  4. three.js(五) 地形纹理混合
  5. Ubuntu中的密钥环密码与登陆密码不同
  6. [转]闲话操作系统1
  7. fastapi学习(二):路径参数获取与GET、POST参数获取
  8. 答非所问:产品质量怎样?发现了很多BUG
  9. 冰河木马学习之监听服务端失败
  10. 机械制图之三棱锥的三视图
  11. 阿里云ECS建网站(建站)超详细全套完整图文教程!菜鸟必看!
  12. Python 将汉字转为拼音
  13. Netty高级进阶之基于Netty的Websocket开发网页聊天室
  14. QQ邮箱添加网易邮箱
  15. 如何通过微信小程序进行更加有效的电商营销?
  16. 小程序源码:求职招聘微信小程序源码下载v4.1.78
  17. .net 5+ 知新:【2】 .Net Framework 、.Net 、 .NET Standard的概念与区别
  18. ssm + redis
  19. 源生js封装ajax
  20. 【方案开发】RGB多色补光灯方案

热门文章

  1. Mybatis mapper代理开发方法实现增删改查
  2. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile 解决办法
  3. 洛克菲勒的38封信pdf下载_洛克菲勒写给儿子的38封信:要有竞争的决心
  4. android 叠加视图 重启,android-后台应用程序以侦听拖动手势
  5. python表达式3and5_表达式 3 and 5 的值为____________。(5.0分)_学小易找答案
  6. jquery name选择器_【百战程序员从开始到植发】之jquery
  7. python 解压缩字符串_在C中压缩字符串,在python中解压缩
  8. 自动驾驶 2-3 软件架构 Software Architecture
  9. 阿里云云计算 52在线实验--云监控初体验
  10. 常用screen参数