问答详情
源自:7-6 MySQL操作类之更新数据

程序代码方便大家使用

//MVC 实例 对于mysql的操作


<?php  //mysql.class.php

class Mysql

{

    /**报错函数

     * @param string $error

    **/

     

    function err($error)

    {

        die("对不起,您的操作有误,错误原因为: ".$error);

        //die有两种作用:输出和终止,相当于echo和exit的组合

    }

     

      

     //连接数据库

     //@param string $config 匹配数组array($dbhost,$dbuser,$dbpwd,$dbname,$dbcharset)

     //@return bool 连接成功或失败

     function connect($config)

     {

         extract($config);

         if(!($con=mysql_connect($dbhost,$dbuser,$dbpwd)))

         //mysql_connect连接数据库函数

         $this->err(mysql_error());

         

         if(!mysql_select_db($dbname,$con))

         {

             $this->err(mysql_error());

         }

         

         mysql_query("set names ".$dbcharset);//使用mysql_query设置数据库编码/mysql_query(set names c utf8);

     }

      

      //执行mysql query

      //@param string $sql

      //@return bool 返回执行成功,资源或执行失败

      function query($sql)

      {

          if(!($query=mysql_query($sql)))

          //使用mysql_query来执行sql语句

          {

              return $this->err($sql."<br />".mysql_error());

          }

          else

          {

              return $query;

          }

      }

      

      //列表

      //@param source $query  /sql通过mysql_query()执行出来的资源

      //return array 返回列表数组

      function findAll($query)

      {

          while($rs=mysql_fetch_array($query, MYSQL_ASSOC))

          

          //MYSQL_ASSOC()作用将mysql_fetch_array()获得的数组一次转换出一行出来

          {

              $list[]=$rs;

          }

          return isset($list)?$list:"";

      }

      

      //返回单行的数据查询结果

      function findOne($query)

      {

          $rs=mysql_fetch_array($query, MYSQL_ASSOC);

          return $rs;

      }

      

      

      //数据查询返回指定行的指定字段的值

      //@param source $query  sql语句通过MySQL_query返回的资源

      //return array 返回指定行的指定字段的值

      function findResult($query,$row=0, $field=0)

      {

          $rs=mysql_result($query,$row,$field);

          return $rs;

      }

      

      //添加函数 insert

      //@param string $table 表名

      //@param array $arr 添加数组(包含字段和值的数组)

      function insert($table, $arr)

      {

          //sql语句解释 INSERT INTO table(表明:多个字段) VALUES(多个值)

          foreach($arr as $key=>$valule)

          //foreach 循环获取数组

          {

              $value = mysql_real_escape_string($value);

              $keyArr[]="`".$key."`";//把$arr数组中的键名保存到$KeyArr数组中

              $valueArr[]="`".$value."`";//把$arr数组当中的键值保存到$valueArr数组,

              //因为值多为字符串,而sql语句里面insert当中如果值是字符串的话要加引号,

              //所以这个地方要加上单引号(为esc键下方的单引号)

          }

          

          $keys=implode(",",$keyArr);//implode函数把数组用(,)的组合成字符串

          $values=implode(",",$valueArr);//IMpolo的函数包值组合成字符串

          //然后进行拼接sql语句

          $sql="INSERT INTO ".$table."(".$keys.") VALUES(".$values.");";

          $this->query($sql);

          return mysql_insert_id();

      }

      

      //修改函数 update ssql语句

      //@param string $table 表名

      //@param array $arr  修改的数组 字符段=字段值的一维数组

      //@parama string $where 修改的条件

      function update($table,$arr,$where)

      {

        foreach($arr as $key=>$value)

        {

            $vaule=mysql_real_escape_string($value);

            $keyAndValueArr[]="`".$key."`=`".$value."`";

        }

        $keyAndValues=imploed(",",$keyAndValuArr);

        $sql="UPDATE ".$table." SET ".$keyAndValues." WHERE ".$where;

        $this->query($sql);

      }

      

      //删除函数 delete sql语句

      //@param string $table 表名

      //@param string $where 条件

      function delete($table, $where)

      {

          $sql="DELETE FROM ".$table." WHERE ".$where;//sql删除语句

          $this->query($sql);

      }

      

      

      

      

      

      

      

      

}






















?>


提问者:qq_9987 2018-02-25 20:30

个回答

  • 慕田峪1278551
    2018-03-12 13:40:21

    ok,ok