mysqli的常见使用方法

原创 2019-01-09 15:11:03 473
摘要:<?php/** * Created by PhpStorm. * User: Administrator * Date: 2019/1/7 * Time: 17:24 */header("Content-type:text/html;charset=utf-8");//数据库信息define('HOST','127.0.0.1');def

<?php

/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/1/7
* Time: 17:24
*/
header("Content-type:text/html;charset=utf-8");
//数据库信息
define('HOST','127.0.0.1');
define('NAME','root');
define('PASSWORD','');
define('DB','phpstudy');
//执行命令
$conn=connect();
//print_r($conn);
/*插入数据*/
//$addRes=add($conn,'movie','狗十三','2018-12-21',5,3);
//echo $addRes;
/*删除数据*/
//$del=del($conn,'movie',5);
//echo $del;
/*修改数据*/
//$arr=array('movie'=>'爱因斯坦和卖火柴的13岁小女孩','putaway'=>'2019-01-01');
//$update=update($conn,'movie',$arr,10);
//echo $update;
/*查找多条数据*/
//$res=find($conn,'movie','mid',true,5);
//echo '<pre>';
//print_r($res);
/*查找某列数据*/
//$res=col($conn,'movie','movie',2,3);
//print_r($res);
/*查找某一个数据*/
//$res=find_one($conn,'movie','movie','3');
//var_dump($res);
/*查找总条数*/
$res=sum($conn,'movie');
echo $res;
/*
* 连接数据库
* 返回:连接成功
* 1.连接数据库
* 2.判断是否失败,失败则退出并返回失败内容
* 3.连接成功
*/
function connect()
{
   $conn=@mysqli_connect(HOST,NAME,PASSWORD,DB,3306);
   if(!$conn){
       exit('数据库连接失败:'.mysqli_connect_errno());
   }
   $conn->set_charset('utf8');
   return $conn;
}
/*
* 增加函数
* 传入:连接数据库,电影名,上架时间,导演id,演员id
* 输出:成功条数或失败信息
* 1.保存当前时间戳
* 2.写sql语句
* 3.执行sql
* 4.关闭链接
* 5.返回失败信息
* 6.返回成功信息
*
*/
function add($conn,$db,$movie,$putaway,$pid,$uid)
{
   $addTime=time();
   $sql='INSERT INTO `'.$db.'` (`movie`, `putaway`, `addTime`, `pid`, `uid`) VALUES ("'.$movie.'","'.$putaway.'","'.$addTime.'","'.$pid.'","'.$uid.'");';
   echo $sql;
   $res=mysqli_query($conn,$sql);
   mysqli_close($conn);
   if(!$res){
       return '插入失败';
   }
   return '插入成功';
}
/*
* 删除函数
* 传入:$conn,表明,id号
* 输出:删除结果
* 1.写sql语句
* 2.执行sql
* 3.关闭链接
* 4.判断结果
*
*/
function del($conn,$db,$mid)
{
   $sql='DELETE FROM `'.$db.'` WHERE mid="'.$mid.'";';
//    echo $sql;
   $res=mysqli_query($conn,$sql);
   mysqli_close($conn);
   if(!$res){
       return '删除失败';
   }
   return '删除成功';
}
/*
* 修改函数
* 传入:$conn,表明,字段名,值,被修改的行id
* 输出:修改结果
* 1.定义一个中间变量str
* 2.遍历传入的索引数组,以固定的形式进行拼接并保存在str中
* 3.删除str最后的逗号和空格
* 4.拼接sql
* 5.执行sql
* 6.关闭链接
* 7.判断结果
*
*/
function update($conn,$db,$arr=[],$id)
{
   $str=' ';
   foreach ($arr as $key=>$val) {
       $str .= '`' . $key . '`="' . $val . '", ';
   }
   $str=substr_replace($str,'',-2,2);
   $sql='UPDATE `'.$db.'` SET '.$str.' WHERE (`mid`="'.$id.'");';
   echo $sql;
   $res=mysqli_query($conn,$sql);
   if(!$res){
       return '修改失败';
   }
   return '修改成功';
}

/*
* 查找函数
* 传入:$conn,表名,字段(排序用,可不传),排序方法(可不传,true为倒序,false为正序),长度(可不传)
* 输出:以二维数组形式输出结果集
* 1.判断是否排序,是否倒序,拼接排序字符串
* 2.判断是否有长度限制
* 3.写sql
* 4.执行sql
* 5.判断是否执行失败
* 6.循环执行结果,保存在一个新的数组中
*/
function find($conn,$db,$col='',$fun=false,$limit=0)
{
   $str=' ';
   if($col){
       $str.=' ORDER BY '.$col.' ';
       if($fun){
           $str.=' DESC ';
       }
   }
   if($limit){
       $str.=' limit '.$limit.' ';
   }
   $sql='SELECT * FROM `'.$db.'`'.$str.';';
//    echo $sql,'<br>';
   $res=mysqli_query($conn,$sql);
   if(!$res){
       return '暂无数据';
   }
   $rows=[];
   while($row=mysqli_fetch_assoc($res)){
       $rows[]=$row;
   }
   return $rows;
}
/*
* 查找某列
* 输入:$conn,表名,列名,排序方法,长度
* 输出:数组
* 2.判断长度
* 3.写sql
* 4.执行sql
* 5.循环执行结果
* 6.输出
*/
function col($conn,$db,$col,$limit1=0,$limit2=0)
{
   $str='';
   if($limit1){
       $str.=' limit '.$limit1;
       if($limit2 && $limit2>$limit1){
           $str.=','.$limit2;
       }
   }
   $sql='SELECT '.$col.' FROM `'.$db.'`'.$str.';';
//    echo $sql;
   $res=mysqli_query($conn,$sql);
   if(!$res){
       return '查询失败';
   }
   $rows=[];
   while ($row=mysqli_fetch_assoc($res))
   {
       $rows[]=$row;
   }
   return $rows;
}
/*
* 查找某一个数据
* 输入:$conn,表名,所查字段,对应id
* 输出:字符串
* 1.写sql
* 2.执行sql
* 3.执行失败返回
* 4.执行成功后处理数据
* 5.返回数据
*/
function find_one($conn,$db,$filed,$id){
   $sql='SELECT '.$filed.' FROM `'.$db.'` WHERE `mid`='.$id.';';
//    echo $sql;
   $res=mysqli_query($conn,$sql);
   if(!$res){
       return '暂无数据';
   }
   $row=mysqli_fetch_assoc($res);
   return $row[$filed];
}


/*
* 查找总条数
* 输入:$conn,表明
* 输出:数字
* 1.写sql
* 2.执行sql
* 3.执行失败时返回
* 4.执行成功时处理数据
* 5.返回处理结果
*/
function sum($conn,$db){
   $sql='SELECT COUNT(*) as sum FROM '.$db;
//    echo $sql;
   $res=mysqli_query($conn,$sql);
   if(!$res){
       return '查询失败';
   }
   $row=mysqli_fetch_assoc($res);
   return $row['sum'];
}

mysqli的常用函数有
mysqli_query()    执行sql语句
mysqli_fetch_assoc($res)    处理一条结果集,并将指针指向吓一条
mysqli_insert_id()    获取插入行的自增id

常用的sql语句有
SELECT count(*) as sum FROM `db`;
SELECT mid AS id FROM `db` WHERE name='name';
SELECT * FROM `db` WHERE city='beijing' order by age desc limit 20;
DELETE FROM `db` WHERE mid=5;
UPDATE `db` SET name='狗十三' WHERE mid=3;
INSERT INTO `db` () VALUES ()


批改老师:韦小宝批改时间:2019-01-09 15:13:42
老师总结:写的很详细 mysqli虽然现在没有pdo使用的广泛 , 但还是很重要的 课后没事可以多写一写 , 多研究研究

发布手记

热门词条