搜索

MySQLi函数库总结

原创 2018-12-03 17:02:34 350
摘要:之前学习了PDO之后感觉mysqli就很简单了,不过两者功能上除了PDO可以操作任何种类的数据库类型之外,和mysqli有什么其他区别么?一.mysqli连接数据库函数    mysqli_connect('主机名','用户名','密码','数据库名','端口号');//连接数据库 $db 

之前学习了PDO之后感觉mysqli就很简单了,不过两者功能上除了PDO可以操作任何种类的数据库类型之外,和mysqli有什么其他区别么?

一.mysqli连接数据库函数

    mysqli_connect('主机名','用户名','密码','数据库名','端口号');

//连接数据库
$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306');
//如果连接出现错误
if(!$db){
    //链接失败,输出错误信息
    exit('数据库报错:'.mysqli_connect_error());
}

//封装方法:
function connect(array $data){    //限制为数组格式
    //连接数据库
    $conn = @mysqli_connect($data['host'],$data['user'],$data['pass'],$db['dbname'],3306);
    if(!$conn){
        exit('数据库报错:'.mysqli_connect_error());
    }
    return $conn;
}
//连接数据库的信息
$data = [
    'host'=>'127.0.0.1',
    'user'=>'root',
    'pass'=>'root',
    'dbname'=>'wpx'
];
//调用方法
$db = connect($data);

二.关闭数据库操作

    mysqli_close()

$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306');
//.......操作
mysqli_close($db);

三.数据库增删改查操作

    mysqli_query('数据库源','sql语句');    根据不同的sql语句来执行不同的操作

    1.更新操作    传入where!!!

$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306');
$sql = "UPDATE `director` SET `name`='小宝' WHERE `tid`=2;";
$return = mysqli_query($db,$sql);
print_r($return);

//封装方法
function save($db,$sql){
    $return = mysqli_query($db,$sql);
    return $return;
}

    2.新增操作    如果想返回新增的主键id  mysqli_insert_id($数据库源)

$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306');
$sql = "INSERT INTO `director`(`name`,`phone`,`country`,`add_time`) VALUES ('李洪绸','18888888888','中国','{$addTime}');";
$res= mysqli_query($db,$sql);
//return $res;    //成功返回1

//如果想返回自增id
if($res){
    $return = mysqli_insert_id($db);
}
return $return;

//封装方法
function insert($db,$sql){
    $return = mysqli_query($db,$sql);
    //如果成功返回自增id
    if($return){
        $return = mysqli_insert_id($db);
    }
    return $return;
}

    3.删除操作    传入where!!!

$sql = "DELETE FROM `director` WHERE `tid`=6;";
$return = mysqli_query($db,$sql);
var_dump($return);

//封装方法
function delete($db,$sql){
    $return = mysqli_query($db,$sql);
    return $return;
}

    4.查询操作   mysqli_fetch_assoc()  执行一次返回一条数据 再次执行返回下条数据

$sql = "SELECT * FROM `user` WHERE `uid`=2;";
$return = mysqli_query($db,$sql);
$return = mysqli_fetch_assoc($return);

//封装方法

//查询数据
function select($db,$table,$where,$order,$limit){
    $sql = "SELECT * FROM ".$table.' WHERE '.$where;
    if($order){
        $sql .= ' ORDER BY '.$order;
    }
    if($limit){
        $sql .= ' LIMIT '.$limit;
    }
    echo $sql;
    $return = mysqli_query($db,$sql);
    $rows = [];
    if($return){
        while($row = mysqli_fetch_assoc($return)){
            $rows[] = $row;
        }
        //释放内存
        mysqli_free_result($return);
    }
    return $rows;
}
//    $res = select($db,'user','uid>5','uid desc','0,5');

//查询一条数据
function find($db,$table,$where){
    $sql = "SELECT * FROM ".$table.' WHERE '.$where.' LIMIT 1';
    $return = mysqli_query($db,$sql);
    $return = mysqli_fetch_assoc($return);
    return $return;
}
//    $return = find($db,'user','uid>3');

//查询某个字段数据
function find_one($db,$table,$filed,$where){
    $sql = "SELECT ".$filed." FROM ".$table.' WHERE '.$where. ' LIMIT 1';
    $return = mysqli_query($db,$sql);
    $return = mysqli_fetch_assoc($return);
    return $return;
}    
//    $return = find_one($db,'user','name,phone','uid=5');

//统计数量
function count_number($db,$table,$where){
    $sql = 'SELECT COUNT(*) AS `count_number` FROM '.$table.' WHERE '.$where;
    $return = mysqli_query($db,$sql);
    $return = mysqli_fetch_assoc($return);
    return $return;
}
//    $return = count_number($db,'user','uid>4');









批改老师:天蓬老师批改时间:2018-12-03 17:16:25
老师总结:mysqli 现在已经用得极少了, 基本上都是用PDO实现, 但学习mysqli 还是有必要的

发布手记

热门词条