php操作数据库的类

这篇博客介绍了如何使用PHP创建一个数据库操作类,包括插入、更新、删除和查询数据的功能。该类适用于已知数据库名称,数据表由参数动态指定。示例代码中展示了如何使用这个类进行操作,适合PHP初学者参考。

其中包含插入数据、更新数据、根据id删除数据、查询数据;数据库名字确定,数据表由参数提供,其中data数据为php数组索引为表名,内容为需要进行修改的内容;
新手代码仅供参考;
MySQL_Dao.php

<?php

/**
 * Created by PhpStorm.
 * User: li300
 * Date: 2016/11/11 0011
 * Time: 10:36
 */
define("MYSQLUSER","root");
define("MYSQLPASS","");
define("MYSQLDB", "mydb");
define("MYSQLTABLEUSER","splxapp_user");
define("MYSQLTABLEHARD","splxapp_hardware");
define("MYSQLTABLEAPPL","splxapp_appliance");
define("MYSQLTABLEWASTE","splxapp_appdaystatic");
define("SQLTBID","id");
define("SQLTBNAME","name");
define("SQLTBPASS","pass");
define("SQLTBTEL","tel");
define("SQLTBEMAIL","email");
define("SQLTBFACE","face");
define("SQLTBSIGN","sign");
define("SQLTBONLINE","online");
define("SQLTBAPPVER","appversion");
define("SQLTBUSERID","userid");
define("SQLTBSEX","sex");
define("SQLTBMESSFLAG","messageflag");
define("SQLTBDATASENDTIME","datasendtime");
define("SQLTBNETID","netid");
define("SQLTBTYPE","type");
define("SQLTBHARDVER","version");
define("SQLTBUSERTOHARD","userId");
define("SQLTBAPPID","appid");
define("SQLTBHARDTOAPP","hardwareid");
define("SQLTBAPPIMAGE1","imageid1");
define("SQLTBAPPIMAGE2","imageid2");
define("SQLTBAPPMODENUM","modenum");
define("SQLTBAPPTOWASTE","appid");
define("SQLTBWASTE","waste");
define("SQLTBDATE","date");
define("SQLTBWH1","wasteh1");
define("SQLTBWH2","wasteh2");
define("SQLTBWH3","wasteh3");
define("SQLTBWH4","wasteh4");
define("SQLTBWH5","wasteh5");
define("SQLTBWH6","wasteh6");
define("SQLTBWH7","wasteh7");
define("SQLTBWH8","wasteh8");
define("SQLTBWH9","wasteh9");
define("SQLTBWH10","wasteh10");
define("SQLTBWH11","wasteh11");
define("SQLTBWH12","wasteh12");
class MySQL_Dao
{
    var $con;

    function ConnectMySql()
    {
        $this->con = mysql_connect("localhost",MYSQLUSER,MYSQLPASS);
        if(!$this->con)
        {
            die("Could not connect: ".mysql_error());
        }
    }
    function CloseMySql()
    {
        mysql_close($this->con);
    }
    // 其中格式为$data = array("id"=>"12345","name"=>"lixin")
    function AddDateMySql($table,$data)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");
        mysql_query(
           "INSERT INTO ".$this->Table($table)."(".$this->getArrayKeys($data).") VALUES (".$this->getArrayDatas($data).")"
        );
    }
    //为防止出现其他事故更新和删除操作必须用唯一外键进行;
    function DeleteDateMySql($table,$data)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");
        foreach ($data as $x=>$x_value )
        {
            mysql_query("DELETE FROM ".$this->Table($table)." WHERE ".$x."='".$x_value."'");
        }
    }
    //更新数据表中的数据,前一个参数为所需要更新的数组;后一个参数为需要更新的数据
    function UpDateMySql($table,$index,$data)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");

        foreach ($data as $x=>$x_value )
        {
            mysql_query("UPDATE ".$this->Table($table)." SET `".$x."`='".$x_value. "' WHERE `".SQLTBID."`=".$index);
        }
    }
    //查询数据返回id
    function IdSelectMySql($table,$data)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");
        $result = mysql_query(
            "SELECT * FROM ".$this->Table($table)." WHERE ".$this->getWhereArray($data)
        );
        $i = 0;
        $arrayid = array();
        while($row = mysql_fetch_array($result))
        {
            $arrayid[$i] = $row[SQLTBID];
            $i++;
        }
        return $arrayid;
    }
    //tdate是需要返回的数据列名字
    function SelectMySql($table,$data,$tdate)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");
        $result = mysql_query(
            "SELECT * FROM ".$this->Table($table)." WHERE ".$this->getWhereArray($data)
        );
        $i = 0;
        $mdate = array();
        $temp = array();
        while($row = mysql_fetch_array($result))
        {
            foreach ($tdate as $value)
            {
                $temp[$value]=$row[$value];
            }
            $mdate[$i] = $temp;
            $i++;
        }
        return $mdate;
    }
    //进行升序排列输出
    function SelectOrderMySql($table,$data,$tdate,$norder)
    {
        //如果数据库未连接则连接数据库
        if(!$this->con)
        {
            $this->ConnectMySql();
        }
        mysql_select_db(MYSQLDB,$this->con);
        mysql_query("set names utf8;");
        $result = mysql_query(
            "SELECT * FROM ".$this->Table($table)." WHERE ".$this->getWhereArray($data)." ORDER BY ".$norder
        );
        $i = 0;
        $mdate = array();
        $temp = array();
        while($row = mysql_fetch_array($result))
        {
            foreach ($tdate as $value)
            {
                $temp[$value]=$row[$value];
            }
            $mdate[$i] = $temp;
            $i++;
        }
        return $mdate;
    }
    function Table( $TableName ) {//数据表
        $table = '`'. $TableName . '`';
        return $table;
    }

    function getWhereArray($data)
    {
        $temp = "";
        foreach ($data as $x=>$x_value)
        {
            $temp = $temp."`".$x."`='".$x_value."'AND";
        }
        $newstr = substr($temp,0,strlen($temp)-3);
        return $newstr;
    }
    function getArrayKeys($data)
    {
        $ss = "";
        foreach($data as $x=>$x_value)
        {
            $ss = $ss."`".$x."`,";
        }
        $newstr = substr($ss,0,strlen($ss)-1);
        return $newstr;
    }
    function getArrayDatas($data)
    {
        $ss = "";
        foreach($data as $x=>$x_value)
        {
            $ss = $ss."'".$x_value."',";
        }
        $newstr = substr($ss,0,strlen($ss)-1);
        return $newstr;
    }
}

下面是测试文件:test.php

<?php
require "MySQL_Dao.php";
/**
 * Created by PhpStorm.
 * User: li300
 * Date: 2016/11/11 0011
 * Time: 11:44
 */
$data = array(
    SQLTBNAME=>"电器1",
    SQLTBNETID=>"helloabc",
    SQLTBTYPE=>1,
    SQLTBUSERTOHARD=>1
);
$tdate = array(
    SQLTBID,
    SQLTBNAME,
    SQLTBNETID
);
$delete = array(
  SQLTBNAME=>"323"
);
$id = array(
  SQLTBID=>1
);
$sql_Dao = new MySQL_Dao();
//echo $sql_Dao->getArrayKeys($data);
//echo $sql_Dao->getArrayDatas($data);
//$sql_Dao->AddDateMySql(MYSQLTABLEHARD,$data);
//$sql_Dao->DeleteDateMySql(MYSQLTABLEHARD,$delete);
//$sql_Dao->UpDateMySql(MYSQLTABLEHARD,1,$data);
//$sql_Dao->IdSelectMySql(MYSQLTABLEHARD,$data);
//echo $iid[0];
$dis=$sql_Dao->SelectOrderMySql(MYSQLTABLEHARD,$data2,$tdate,SQLTBID);
foreach ($dis as $t1){
    foreach ($t1 as $item=>$value)
    {
        echo $item.":".$value."<Br />";
    }
}

$sql_Dao->CloseMySql();

最后一个显示结果为:
id:1
name:电器1
netid:helloabc
id:5
name:电器6
netid:helloabc
id:11
name:电器
netid:helloabc
id:12
name:电器
netid:helloabc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值