浅谈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操作类全部内容了,希望大家多多支持phpstudy~
本文地址:https://www.stayed.cn/item/25300
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我