浅谈PHP值mysql操作类

浅谈PHP值mysql操作类

<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/27 * Time: 18:55 */ Class Mysqls{ private $table; //表 private $opt; public function __construct($host,$user,$pwd,$name,$table_names) { $this->db=new mysqli($host,$user,$pwd,$name); //数据库连接 if(mysqli_connect_errno()){ echo "数据库连接错误".mysqli_connect_errno(); exit(); } $this->db->query("set names utf8"); $this->table=$table_names; $this->opt['field']="*"; $this->opt['where']=$this->opt['Order']=$this->opt['Limit']=$this->opt['Group']=''; // var_dump($this->opt['where']); //$this->M($table_names); } //数据库连接 // protected function M($table_name){ // $this->db=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME); // // if(mysqli_connect_errno()){ // echo "数据库连接错误".mysqli_connect_errno(); // exit(); // } // $this->db->query("set names utf8"); // $this->table=$table_name; // } //表中的字段 public function tbField(){ $desc=$this->db->query("DESC {$this->table}"); $fieldArr=array(); while(($row=$desc->fetch_assoc())!=false){ $fieldArr[]=$row['Field']; } // var_dump($fieldArr); return $fieldArr; } //查询字段 public function field($filed){ //拆分字段 $filedArr=is_string($filed)?explode(",",$filed):$filed; if(is_array($filedArr)){ $filed=''; foreach($filedArr as $v){ $filed.="'".$v."'".","; } } //var_dump($filed); return rtrim($filed,","); } //判断字段是否存在 public function isfield($fileds) { $filedArr=is_string($fileds)?explode(",",$fileds):$fileds; $tbFiled=$this->tbField(); //var_dump( $tbFiled); foreach($filedArr as $v){ if(!in_array($v,$tbFiled)){ echo "字段输入发错"; } } } //条件语句 public function where($where){ $this->opt['where']=is_string($where)?" WHERE {$where}":"不是字符串"; return $this; } //Limit public function Limit($limit){ $this->opt['Limit']=is_string($limit)?" Limit {$limit}":"不是字符串"; return $this; } public function Order($order){ $this->opt['Order']=is_string($order)?" Order By {$order}":"不是字符串"; return $this; } public function Group($group){ $this->opt['Group']=is_string($group)?" Group BY {$group}":"不是字符串"; return $this; } // 查询字符串 public function select(){ $sql="select * from {$this->table} {$this->opt['where']} {$this->opt['Group']} {$this->opt['Limit']} {$this->opt['Order']}"; return $this->fetch($sql); } //结果集查询 public function fetch($sql){ $result=$this->db->query($sql); $sqlarr=array(); while(($row=$result->fetch_assoc())!=false){ $sqlarr[]=$row; } // var_dump($sqlarr); return $sqlarr; } //无结果集查询 public function querys($sql){ $sqls=$this->db->query($sql); return $this->db->affected_rows; } //删除语句 public function delete($where=array()){ if($where=="" && empety($this->opt['where'])) die(" 不能为空"); if($where!=""){ if(is_array($where)){ $where=implode(",",$where); } $this->opt['where']=" WHERE id IN({$where})"; } $sql="delete from {$this->table} {$this->opt['where']} {$this->opt['Limit']}"; var_dump($sql); //return $this->query($sql); } //数组键名 public function key($key){ if(!is_array($key))die("非法数组"); $keys=""; foreach($key as $v){ $keys.=$v.","; } return rtrim($keys,","); } //数组值 public function value($value){ if(!is_array($value))die("非法数组"); $strvalue=""; foreach($value as $v){ $strvalue.="'".$v."'".","; } return rtrim($strvalue,","); } //添加语句 public function add($filed){ if(!is_array($filed)) die("非法数组"); $fileds=$this->key(array_keys($filed)); //返回数组中的键名 //var_dump($fileds); $values=$this->value(array_values($filed)); $sql="insert into {$this->table}({$fileds})VALUES($values)"; //var_dump($sql); return $this->querys($sql); } //查找单条记录 public function find($field,$id){ $sql="select {$this->opt['field']} from {$this->table} {$this->where($field.'='."'".$id."'")}"; var_dump($sql); return $this->fetch($sql); } //更新语句 public function save($arrs){ if(!is_array($arrs))die("非法的数组"); //if(empty($this->opt['where']))die("条件不能为空"); $str=""; while(list($k,$v)=each($arrs)) { $str="{$k}="."'{$v}',"; } $str=rtrim($str,","); $sql="Update {$this->table} set {$str}{$this->opt['where']}"; return $this->querys($sql); } //获取总记录数 public function counts(){ $sql="select 'id' from {$this->table}{$this->opt['where']}"; //var_dump($sql); return $this->querys($sql); } } $db=new Mysqls('127.0.0.1','root','','mysql','user');

写的一部分有问题 参考了别人一部分。

以上就是小编为大家带来的浅谈PHP值mysql操作类全部内容了,希望大家多多支持脚本之家~

时间: 2024-11-16 07:14:34

浅谈PHP值mysql操作类的相关文章

浅谈PHP值mysql操作类_php实例

浅谈PHP值mysql操作类 <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/27 * Time: 18:55 */ Class Mysqls{ private $table; //表 private $opt; public function __construct($host,$user,$pwd,$name,$table_names) { $this->db=new mysqli($host,$u

JavaScript数据操作_浅谈原始值和引用值的操作本质_javascript技巧

我的一句话总结:原始值不管是变量赋值还是函数传递都不会改变原值,引用值不管是变量赋值还是函数传递,如果新变量重新赋值,则不会影响原引用值,如新变量是直接操作,就会影响原引用值. 首先明确,值和类型是两个不同的概念.例如,null是null类型的唯一值.undefined是undefined类型的唯一值.而true和false是boolean类型仅有的两个值等.在任何语言中,值的操作都可以归纳为以下3个方面. 复制值:即把值赋值给新变量,或者通过变量把值赋值给另一个变量.属性或数组元素. 传递值:

一个PHP MySQL操作类...

<?php /** * MySQL 数据库操作工具类, 方便数据库操作. * 示例见底部注释. * @author: http://www.ideawu.net/blog/ */ class Mysql{ var $conn; var $query_list = array(); public $query_count = 0; public function __construct($c){ if(!isset($c['port'])){ $c['port'] = '3306'; } $ser

ecshop的Mysql操作类

摘要,这是直接摘抄的ecshop的mysql操作类:不过他这里的缓存是用的文件缓存,我们如果想直接使用,可以替换成memcache的或者redis的! <?php /** * ECSHOP MYSQL 公用类库 * ============================================================================ * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利. * 网站地址: http://www.ecsho

EasyDB 1.0.1正式版发布,MySQL操作类

EasyDB 1.0.1正式版发布.MySQL操作类 更新内容如下: 支持对insert/update/deldete/select的简化操作: 支持对复杂的insert/update/deldete/select SQL进行链式操作: 链式操作目前支持 field(),where(),order(),group(),limit(),setdata(); 增加调试输出,支持写文件或者屏显打印: 增加调试方法,通过getLastSql可以获取到真正编译后执行的SQL语句; 增加对Eclipse.P

简单的MYsql操作类

 代码如下 复制代码 * 1.连接服务器 2.各类sql动作 */ class mysql{     private $host;  //服务器地址     private $name;  //用户名称     private $pass;  //密码     private $table; //连接数据库教程     private $jiema; //设置解码     private $ztime; //设置服务器的时区     //构造函数     function __construct

浅谈怎样在MySQL中直接储存图片

如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件. 本文概述:  在mysql中建立一个新的数据库  一个怎样储存文件的例子程序  一个怎样访问文件的例子程序  在mysql中建立一个新的database    首先,你必须在你的mysql中建立一个新的数据库,我们将会把那些二进制文件储存在这个数据库里.在例子中我会使用下列结构,为了建立数据库,你必须做下列步骤:

浅谈电视界面与操作模式

随著互联网与生活越来越密不可分,联网设备也从原本的电脑,变换到了手机上.正当大家的生活离不开手机时,网络也等著进入大家最常接触的第三屏幕-电视. 一直以来都有许多厂商在智能电视上耕耘,早期的 IPTV, 中华电信MOD.一电视网乐通是这类,现在的 OTT(Over-The-Top)-Box,大家熟知的 Apple TV.Google TV以及大家可能比较陌生的 Roku.Boxee,透过 Netflix.Hulu.Amazon video等丰富的数位内容,达到新的收视体验. 因为电视拥有大尺寸,

浅谈php中mysql与mysqli的区别分析_php技巧

首先两个函数都是用来处理DB 的.首先, mysqli 连接是永久连接,而mysql是非永久连接.什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力.其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法.应用比较多的地方是 mysqli的事务.比如下面的示例: 复制代码 代码如下: $mysqli = new mysqli('localhost','root','',