数据库操作工具类SqlHelper

栏目:建站技术 2020-10-30

class SqlHelper
{
    public $conn;
    public $host="localhost";
    public $username="root";
    public $password="root";
    public $dbname="mydb";
    
    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);
        mysql_query("set names utf8");
        
    }
    //返回单条记录
    public function execute_dql_one($sql)
    {
        $res=mysql_query($sql,$this->conn) or die("execute_dql".mysql_error());
        $row=mysql_fetch_row($res);
        $one=$row[0];
        mysql_free_result($res);
        return $one;
    }
    //返回单行记录
    public function execute_dql_single_line($sql)
    {
        $res=mysql_query($sql,$this->conn) or die("execute_dql".mysql_error());
        return mysql_fetch_assoc($res);
    }
    //返回多行记录
    public function execute_dql_multi_line($sql)
    {
        $arr=array();
        $res=mysql_query($sql,$this->conn) or die(mysql_error());
        while (!!$row=mysql_fetch_assoc($res))
        {
            $arr[]=$row;
        }
        mysql_free_result($res);
        return $arr;
    }
    
    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;//表示没有行受到影响
            }
        }
        
    }
    //sql1:select * from 表名 limit 0,6
    //sql2:select count(id) from 表名
    public function execute_dql_fenye($tableName,$fenyePage)
    {
        $sql1="select count(*) from ".$tableName;
        $res=mysql_query($sql1,$this->conn) or die(mysql_error());
        $row=mysql_fetch_row($res);
        $fenyePage->rowCount=$row[0];
        mysql_free_result($res);
        
        $fenyePage->pageCount=ceil($fenyePage->rowCount/$fenyePage->pageSize);
        if(!empty($fenyePage->pageNow))
        {
            if (is_numeric($fenyePage->pageNow))
            {
                if($fenyePage->pageNow<1)
                {
                    $fenyePage->pageNow=1;
                }
                if($fenyePage->pageNow>$fenyePage->pageCount)
                {
                    $fenyePage->pageNow=$fenyePage->pageCount;
                }
                
            }else{
                $fenyePage->pageNow=1;
            }
        }else{
            $fenyePage->pageNow=1;    
        }
        $sql2="select * from ".$tableName." order by id limit ".$fenyePage->pageSize*($fenyePage->pageNow-1).",".$fenyePage->pageSize;
        
        $res=mysql_query($sql2,$this->conn) or die(mysql_error());
        $arr=array();
        while (!!$row=mysql_fetch_assoc($res))
        {
            $arr[]=$row;
        }
        $fenyePage->res_array=$arr;
        
        $fenyePage->navigate.="当前页码$fenyePage->pageNow/$fenyePage->pageCount,总共有{$fenyePage->rowCount}条,每页显示{$fenyePage->pageSize}条
";
        
        if($fenyePage->pageNow>1){
            $prePage=$fenyePage->pageNow-1;
            $fenyePage->navigate.="上一页";
            
        }
        if($fenyePage->pageNow<$fenyepage->pageCount){
            $nextPage=$fenyePage->pageNow+1;
            $fenyePage->navigate.="下一页";
        }
        $start=floor(($fenyePage->pageNow-1)/$fenyePage->page_whole)*$fenyePage->page_whole+1;
        $Index=$start;
        //向前整体翻页
        /*if ($start>$fenyePage->page_whole){
            $fenyePage->pageNow_pre=$start-$fenyePage->page_whole;
            echo " <<   ";
        }*/
        
        if($fenyePage->pageNow>$fenyePage->page_whole)
        {
            $fenyePage->navigate.=" <<   ";
        }
        
        //整体翻页
        for($start=$Index;$start<$index+$fenyepage->page_whole;$start++)
        {
            if($start<=$fenyepage->pageCount)
            {
                $fenyePage->navigate.="$start  ";
            }
            
        }
        //向后整体翻页
        if($start<=$fenyepage->pageCount)
        {
            $fenyePage->navigate.=" >> 
";
        }
        mysql_free_result($res);
        //mysql_close($this->conn);
            
    }
    
    public function close_connect(){
        if(!empty($this->conn)){
            mysql_close($this->conn);
        }
    }
}

相关阅读

手机访问电脑网时自动跳转代码

2020-10-1087

4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…

如何解决网站上传大文件的问题?

2020-10-10119

为了服务器的网络安全,避免因为超大文件导致服务器故障,所以对文件上传的大小限制是很有必要的,但是有些客户又有上传大文件的需求,比如上传pdf或者压缩包这种格式的文件,那么碰到这种情况下,如何解决这个问题呢?在浏览器输出phpinfo();查看LoadedConfigurationFile这个参数可以获取php.info的文件位置1:如果上传的文件太大,会导致…

小程序的下单与支付的业务流程

2020-10-10221

1:小程序携带商品信息调用第三方服务器的下单API2:第三方服务器下单API对小程序带来的商品作库存量检测3:如果检测通过,第三方服务器就会保存这个订单并且告之小程序下单成功4:小程序调用第三方服务器的支付api5:第三方服务器API调用微信的预订单API[WxPayApi::unifiedOrder](注意第三方服务器是无法完成支付的,这个订单实际是在微信…

为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?

2020-10-10454

为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?navigateToredirectToswitchTabtabBar先来看示例代码并且在微信开发者工具上测试下面看示例代码共有三个页面,分别是indexproductshowcartindex的js与wxmlPage({/*跳转到商品详情*/toProductshow:function(ev…

小程序倒计时wxml与js

2020-10-1069

小程序倒计时jsPage({data:{windowHeight:654,maxtime:&quot;&quot;,isHiddenLoading:true,isHiddenToast:true,dataList:{},countDownDay:0,countDownHour:0,countDownMinute:0,countDownSecond:0,},/…

如何解决QQ显示未启用的问题

2024-08-8247

没设置临时会话,一般都会出现下面的状况。QQ放在网站上作为客服,必须设置临时会话。或者点击之后,要求加为好友才可以对话。解决这个问题的步骤如下:一、登陆腾讯官方网站:http://wp.qq.com/二、登陆之后,点“设置”,按下图所示,全部打勾。这个必须设置,不设置,不能临时会话,就会显示“未启用”。这一步是关键,必须设置。(1)先看服务有没被停用:如停用…