数据库操作工具类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);
        }
    }
}

相关阅读

qq收不到或发不了图片及解决方案

2020-10-10191

要想解决qq收不到图片或是发不了图片,就要首先弄清楚原因何在?只有找到了原因,才能有的放矢,然后提出我们自己的解决方案,以至于最后彻底解决。第一种显而易见的原因是当时你所在地的网络特别慢,以至于QQ只能发送些文字,图片以文件的方法一发就卡住,或是以截图的方式发过去,对方看到的图片始终是处于加载过程的“小漏斗”状,最后就显示叉叉。还有另外一种情况,就是本身的网…

纯CSS无表达式实现未知尺寸图片等比缩放(支持IE7及以上)

2020-10-1023

在制作网页的时候,常常会遇到一种情况,我们需要把一些未知尺寸的图片放在一个固定宽高的容器中,这时候我们需要考虑这样的问题:只给图片设置宽度或高度的其中一项可以实现图片等比缩放,但图片可能超出容器大小。给图片设置固定的宽高可能导致图片变形。有些人可能会简单地用JavaScript解决:代码如下:&lt;imgsrc=&quot;image-url.png&qu…

asp用正则批量替换过滤表中所有行的内容中的图片

2020-10-1023

SetHF=NewRegExp&#39;建立正则表达式。HF.Pattern=&quot;《img[^&gt;]*&gt;&quot;&#39;设置模式、《请替换成英文的左尖括号。HF.IgnoreCase=True&#39;设置是否区分字符大小写。HF.Global=True&#39;设置全局可用性。Setconn=Server.CreateObject(…

过滤所有标点符号的函数详解

2020-10-1061

为了避免用户输入的一些特殊标点对数据查询造成干扰,所以对特殊的标点符号的过滤是很有必要,下面是过滤所有标点符号这个函数的详细说明所有的标点符号~|`|!|@|#|$|%|^|&amp;|&#39;|*|(|)|+||||=|-|_|[|]|}|{|;|&quot;|:|?|&gt;|&lt;|,|.|/|��|��|��|��|��|��|}|��|��|�…

如何将程序添加到右键菜单中?

2020-10-1033

方法一:在HKEY_CLASSES_ROOT*shell下面添加sublime_textCommand,修改Command项的默认值的数据数值为&quot;D:我的文档sublimetext3sublime_text.exe&quot;&quot;%1&quot;改了之后此方法你会发现不管选择什么类型的文件都会出现在右键菜单中方法二:修改HKEY_CLASS…

跳转关系与规则不符要怎么办?

2022-04-4532

为了能够把这个问题解释清楚,这里我用实例来给大家分析一下跳转关系与规则不符的这个问题,一:先来看一下我的新旧url新旧url链接文件:gaiban.txt中的内容域名/productshow.php?id=29域名/sbzsshow.php?id=29域名/productshow.php?id=2域名/cpzsshow.php?id=78二:再来看一下pro…