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

相关阅读

bom头及不可见换行测试代码及文件

2024-04-42

&lt;?php//无bom头无换行$test1_content=file_get_contents(&#39;test1.txt&#39;);$test1_contenten_codestr=urlencode($test1_content);echo($test1_contenten_codestr);//12echo&#39;&lt;br/&gt;&#…

测试document与window与body对象的heigh…

2020-10-1027

&lt;HTMLxmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;测试document与window与body对象的height与scrollTop方法返回值的区别测试document与window与body对象的height与scrollTop方法返回值的区别$("#btn").click(function…

SublimeText2.0.2完整的注册码及安装插件说明及…

2020-10-1081

注册码在help的EnterLicense中输入下面所有的字符,无须去空格和换行,所有的字符就是完整的注册码-----BEGINLICENSE-----AndrewWeberSingleUserLicenseEA7E-855605813A03DD5E4AD9E66C0EEB94BC99798F942194A602396E98E62C99794BB979FE9…

DOS命令批量获取文件夹内的名称及批量修改文件夹内名称

2020-10-10174

批量提取文件夹内文件名一:在文件夹内新建一个文本文件,名称随便起,这里为了演示,暂时起名叫!!!.TXT,放入下面的内容,!!!!!!.TXT这个是被生成的文件,用于存放文件夹内所有的文件名用的DIR*.*/B&gt;!!!!!!.TXT二:将!!!.TXT文件名的后缀改成.bat,然后双击运行,生成了!!!!!!.TXT文件三:打开!!!!!!.TXT文件…

ueditor与umeditor编辑器的各浏览器的问题汇总

2020-10-10127

ueditor的[1.4.3.3PHP版本]UTF-8版的存在的问题1:当编辑器还没有来得及提示“本地保存成功”的就提交表单的话,那么将无法获取编辑器中的内容2:当同一个脚本中有两个UE编辑器时,如果复制一段纯文字到编辑器中,被复制的文字的第一行只显示下面的部分,上面的一部分被隐藏起来,这个现象至少在火狐43.01版本一直到47.02这些版本是至少存在的,火…

FTP上的文件不宜在线编辑

2022-04-4604

知道FTP软件使用的都知道,打开软件登录某一空间后,一边是本地的文件,另一边是服务器上的文件,而FTP软件就是连接本地与虚拟主机的桥梁,因为有了该软件,线上线下的上传下载就显得非常的简单。一般情况下,如果要对服务器上的文件进行修改,可以先将其下载到本地,再用dr将其打开进行编辑,待编辑到满意后,再上传上去,覆盖以前的文件,或是将以前的文件改个名字,直接上传上…