摘要:之前学习了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 还是有必要的