欢迎来到福编程网,本站提供各种互联网专业知识!

浅谈PHP值mysql操作类

发布时间:2016-06-29 作者:投稿jingxian 来源:转载
下面小编就为大家带来一篇浅谈PHP值mysql操作类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

浅谈PHP值mysql操作类

代码
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2016/6/27
  6. * Time: 18:55
  7. */
  8. Class Mysqls{
  9. private $table; //表
  10. private $opt;
  11. public function __construct($host,$user,$pwd,$name,$table_names)
  12. {
  13. $this->db=new mysqli($host,$user,$pwd,$name); //数据库连接
  14. if(mysqli_connect_errno()){
  15. echo "数据库连接错误".mysqli_connect_errno();
  16. exit();
  17. }
  18. $this->db->query("set names utf8");
  19. $this->table=$table_names;
  20. $this->opt['field']="*";
  21. $this->opt['where']=$this->opt['Order']=$this->opt['Limit']=$this->opt['Group']='';
  22. // var_dump($this->opt['where']);
  23. //$this->M($table_names);
  24. }
  25. //数据库连接
  26. // protected function M($table_name){
  27. // $this->db=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME);
  28. //
  29. // if(mysqli_connect_errno()){
  30. // echo "数据库连接错误".mysqli_connect_errno();
  31. // exit();
  32. // }
  33. // $this->db->query("set names utf8");
  34. // $this->table=$table_name;
  35. // }
  36. //表中的字段
  37. public function tbField(){
  38. $desc=$this->db->query("DESC {$this->table}");
  39. $fieldArr=array();
  40. while(($row=$desc->fetch_assoc())!=false){
  41. $fieldArr[]=$row['Field'];
  42. }
  43. // var_dump($fieldArr);
  44. return $fieldArr;
  45. }
  46. //查询字段
  47. public function field($filed){
  48. //拆分字段
  49. $filedArr=is_string($filed)?explode(",",$filed):$filed;
  50. if(is_array($filedArr)){
  51. $filed='';
  52. foreach($filedArr as $v){
  53. $filed.="'".$v."'".",";
  54. }
  55. }
  56. //var_dump($filed);
  57. return rtrim($filed,",");
  58. }
  59. //判断字段是否存在
  60. public function isfield($fileds)
  61. {
  62. $filedArr=is_string($fileds)?explode(",",$fileds):$fileds;
  63. $tbFiled=$this->tbField();
  64. //var_dump( $tbFiled);
  65. foreach($filedArr as $v){
  66. if(!in_array($v,$tbFiled)){
  67. echo "字段输入发错";
  68. }
  69. }
  70. }
  71. //条件语句
  72. public function where($where){
  73. $this->opt['where']=is_string($where)?" WHERE {$where}":"不是字符串";
  74. return $this;
  75. }
  76. //Limit
  77. public function Limit($limit){
  78. $this->opt['Limit']=is_string($limit)?" Limit {$limit}":"不是字符串";
  79. return $this;
  80. }
  81. public function Order($order){
  82. $this->opt['Order']=is_string($order)?" Order By {$order}":"不是字符串";
  83. return $this;
  84. }
  85. public function Group($group){
  86. $this->opt['Group']=is_string($group)?" Group BY {$group}":"不是字符串";
  87. return $this;
  88. }
  89. // 查询字符串
  90. public function select(){
  91. $sql="select * from {$this->table} {$this->opt['where']} {$this->opt['Group']} {$this->opt['Limit']} {$this->opt['Order']}";
  92. return $this->fetch($sql);
  93. }
  94. //结果集查询
  95. public function fetch($sql){
  96. $result=$this->db->query($sql);
  97. $sqlarr=array();
  98. while(($row=$result->fetch_assoc())!=false){
  99. $sqlarr[]=$row;
  100. }
  101. // var_dump($sqlarr);
  102. return $sqlarr;
  103. }
  104. //无结果集查询
  105. public function querys($sql){
  106. $sqls=$this->db->query($sql);
  107. return $this->db->affected_rows;
  108. }
  109. //删除语句
  110. public function delete($where=array()){
  111. if($where=="" && empety($this->opt['where'])) die(" 不能为空");
  112. if($where!=""){
  113. if(is_array($where)){
  114. $where=implode(",",$where);
  115. }
  116. $this->opt['where']=" WHERE id IN({$where})";
  117. }
  118. $sql="delete from {$this->table} {$this->opt['where']} {$this->opt['Limit']}";
  119. var_dump($sql);
  120. //return $this->query($sql);
  121. }
  122. //数组键名
  123. public function key($key){
  124. if(!is_array($key))die("非法数组");
  125. $keys="";
  126. foreach($key as $v){
  127. $keys.=$v.",";
  128. }
  129. return rtrim($keys,",");
  130. }
  131. //数组值
  132. public function value($value){
  133. if(!is_array($value))die("非法数组");
  134. $strvalue="";
  135. foreach($value as $v){
  136. $strvalue.="'".$v."'".",";
  137. }
  138. return rtrim($strvalue,",");
  139. }
  140. //添加语句
  141. public function add($filed){
  142. if(!is_array($filed)) die("非法数组");
  143. $fileds=$this->key(array_keys($filed)); //返回数组中的键名
  144. //var_dump($fileds);
  145. $values=$this->value(array_values($filed));
  146. $sql="insert into {$this->table}({$fileds})VALUES($values)";
  147. //var_dump($sql);
  148. return $this->querys($sql);
  149. }
  150. //查找单条记录
  151. public function find($field,$id){
  152. $sql="select {$this->opt['field']} from {$this->table} {$this->where($field.'='."'".$id."'")}";
  153. var_dump($sql);
  154. return $this->fetch($sql);
  155. }
  156. //更新语句
  157. public function save($arrs){
  158. if(!is_array($arrs))die("非法的数组");
  159. //if(empty($this->opt['where']))die("条件不能为空");
  160. $str="";
  161. while(list($k,$v)=each($arrs))
  162. {
  163. $str="{$k}="."'{$v}',";
  164. }
  165. $str=rtrim($str,",");
  166. $sql="Update {$this->table} set {$str}{$this->opt['where']}";
  167. return $this->querys($sql);
  168. }
  169. //获取总记录数
  170. public function counts(){
  171. $sql="select 'id' from {$this->table}{$this->opt['where']}";
  172. //var_dump($sql);
  173. return $this->querys($sql);
  174. }
  175. }
  176. $db=new Mysqls('127.0.0.1','root','','mysql','user');

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

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

相关推荐

返回顶部